美文网首页
链表向右旋转k个位置

链表向右旋转k个位置

作者: 小码弟 | 来源:发表于2018-09-29 21:18 被阅读0次

问题描述: 将单链表向右旋转k个位置

思路:1. 找到链表倒数第k+1个节点和尾节点; 2. 原链表的尾节点指向首节点,头结点指向k+1的下一个节点; 3. k+1的next置空,成为真正的尾节点

void ReverseRK(LinkList head, int k)
{
  if(head == NULL || head->next == NULL)
    return NULL;
  ListNode* slow, *fast, *temp;
  slow = fast = head->next;
  int i;
  for(i=0;i<k&&fast;i++)
   {
      fast = fast->next; // fast先走k步
   }
if(i<k)
  return NULL; // k超过链表长度

while(fast)
{
  fast = fast->next;
  slow = slow->next;
  }

temp = slow; // temp指向倒数第k+1个节点
slow = slow->next;
fast->next = head->next;
head->next = slow;
temp->next = NULL;
}

相关文章

  • Swift - LeetCode - 旋转链表

    题目 旋转链表 问题: 给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。 示例: 代码:

  • [LeetCode]61. 旋转链表

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

  • LeetCode 61:旋转链表 Rotate List

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

  • 61. 旋转链表

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

  • 2018-08-15 LeetCode旋转链表反转链表

    反转链表原型 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。遍历链表统计链表长度...

  • leetcode061-旋转链表

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

  • Leetcode链表easy | 61. 旋转链表

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

  • 旋转链表

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

  • [LeetCode]61、旋转链表

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

  • Leetcode 061 旋转链表 python (多解法)

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

网友评论

      本文标题:链表向右旋转k个位置

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