美文网首页
61. Rotate List

61. Rotate List

作者: April63 | 来源:发表于2018-06-19 12:40 被阅读0次

    这一题边界需要考虑一些边界条件:
    1,k=0
    2, 链表为空或者链表中只有一个元素

    1. 旋转的step为0
      代码如下:
    class Solution(object):
        def rotateRight(self, head, k):
            """
            :type head: ListNode
            :type k: int
            :rtype: ListNode
            """
            if k == 0:
                return head
            if not head or not head.next:
                return head
            p = head
            count = 1
            while p.next:
                count += 1
                p = p.next
            step = k % count
            if step == 0:
                return head
            l = count - step
            q = head
            pre = ListNode(0)
            pre.next = head
            while l:
                q = q.next
                pre = pre.next
                l -= 1
            newhead = q
            pre.next = None
            p.next = head
            return newhead
    

    相关文章

      网友评论

          本文标题:61. Rotate List

          本文链接:https://www.haomeiwen.com/subject/imfaeftx.html