美文网首页
61. 旋转链表

61. 旋转链表

作者: 来到了没有知识的荒原 | 来源:发表于2020-07-04 10:13 被阅读0次

61. 旋转链表

双指针,一个先走k步

class Solution {
public:
    ListNode* rotateRight(ListNode* head, int k) {
        ListNode *dummy=new ListNode(0);
        dummy->next=head;
        auto p1=dummy,p2=dummy;
        
        int len=0;
        while(p1->next){
            len++;
            p1=p1->next;
        }
        if(!len)return NULL;
        k%=len;
        if(!k)return head;

        if(len==1)return head;
        while(k--) p2=p2->next;

        p1=dummy;
        while(p2->next){
            p1=p1->next;
            p2=p2->next;
        }
        
        auto res=p1->next;
        p1->next=NULL;
        p2->next=head;
        return res;
    }
};

相关文章

  • leetcode 链表 [C语言]

    21. 合并两个有序链表 合并两个有序链表 61. 旋转链表 (快慢指针) 61. 旋转链表 相关标签 : 链表 ...

  • 61. 旋转链表

    61. 旋转链表 问题 给定一个链表,旋转链表,将链表每个节点向右移动 个位置,其中 是非负数。 示例 1: 输...

  • [LeetCode]61. 旋转链表

    61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例:输入: 1-...

  • 61. 旋转链表

    61. 旋转链表 双指针,一个先走k步

  • 【D33】旋转链表 (LC61)

    61. 旋转链表[https://leetcode-cn.com/problems/rotate-list/] 给...

  • LeetCode:61. 旋转链表

    问题链接 61. 旋转链表[https://leetcode-cn.com/problems/rotate-lis...

  • 61.旋转链表

  • 61.旋转链表

    题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1:输入: 1->2-...

  • 61. 旋转链表

    思路 找到旧的尾部并将其与链表头相连 old_tail.next = head,整个链表闭合成环,同时计算出链表的...

  • 61. 旋转链表

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

网友评论

      本文标题:61. 旋转链表

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