您的位置:首页 > 新闻 > 资讯 > LeetCode61.旋转链表

LeetCode61.旋转链表

2024/12/27 19:32:04 来源:https://blog.csdn.net/weixin_43278612/article/details/141439519  浏览:    关键词:LeetCode61.旋转链表

在这里插入图片描述
本题有两种做法:迭代和递归
本题的本质是:将链表中后k个结点变为前k个,然后将头结点连接到尾节点

迭代

考察知识:

  • 边界条件判断
  • 链表倒k结点寻找
  • Get思想:结环
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode rotateRight(ListNode head, int k) {if (head == null) {return null;}ListNode p = head;int count = 1;while (p.next != null) {count++;p = p.next;}k = k % count;// 成环,寻找 k 结点p.next = head;for (int i = 0; i < count - k; i++) {p = p.next;}head = p.next;p.next = null;return head;}
}

递归

暂时没思考

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com