Thursday, September 27, 2018

[LeetCode]Insert into a Cyclic Sorted List


思路很直观,注意edge case,大概有以下几种情况:

  1. list为空,我们新建node,并且将next指向自身
  2. 如果insertVal在某处节点curr满足,curr->val <= insertVal <= curr->next->val,insertVal插入curr之后
  3. 如果2中的情况没有出现,说明当前插入值是新的最大/最小值,我们需要在当前最大值对应的节点(有多个的话选最靠后的一个)之后插入
按照以上三种情况处理即可,时间复杂度O(N),代码如下:


No comments:

Post a Comment