zoukankan      html  css  js  c++  java
  • Leetcode61 旋转链表

     
     

    给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。

    示例 1:

    输入: 1->2->3->4->5->NULL, k = 2
    输出: 4->5->1->2->3->NULL
    解释:
    向右旋转 1 步: 5->1->2->3->4->NULL
    向右旋转 2 步: 4->5->1->2->3->NULL
    示例 2:

    输入: 0->1->2->NULL, k = 4
    输出: 2->0->1->NULL
    解释:
    向右旋转 1 步: 2->0->1->NULL
    向右旋转 2 步: 1->2->0->NULL
    向右旋转 3 步: 0->1->2->NULL
    向右旋转 4 步: 2->0->1->NULL

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/rotate-list
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None

    class Solution:
        def rotateRight(self, head: ListNode, k: int) -> ListNode:
            if not head:
                return None
            if k==0:
                return head
            p=head
            q=head
            t=None
            list_len=0
            count=1
            i=0
            while i <k:
                if q.next is None:
                    t=q
                    list_len=count
                    k=k%list_len+count
                    q.next=head
                # print(list_len)
                q=q.next
                count+=1
                i+=1
                
            while q!=t and q.next is not None:
                q=q.next
                p=p.next
            q.next=head
            head=p.next
            p.next=None
            return head
  • 相关阅读:
    纯手写F3飞控的直升机固件(2.直升机倾斜盘混控了解)
    STM32输出PWM
    使用多个交叉编译器
    内核编译报错
    mdm9607平台2.2版本 编译指令
    linux 应用编程APIS
    linux 内核API总结
    Do away with the notion of hardsect_size
    大端 小端和网络字节序说明
    TI tlv320aic3104 codec调试之路径控制
  • 原文地址:https://www.cnblogs.com/BetterThanEver_Victor/p/12844834.html
Copyright © 2011-2022 走看看