rotate-list
来源:互联网 发布:网游编程课程 编辑:程序博客网 时间:2024/05/17 09:20
1、来源:rotate-list
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given1->2->3->4->5->NULLand k =2,
return4->5->1->2->3->NULL.
2、思路,递归的本质是栈,例子中进栈1、2、3、4、5,出栈k = 2时,做处理即可;
3、代码:
public class Solution { private int nodenum = 0; private ListNode pHead = null;//临时的头部节点 private ListNode tail = null;//尾节点 private ListNode res; private int n = 0; //实际上要翻转的个数,如果n大于链表的个数nodenum,则n%=nodenum int count = 0; //递归执行中,所有节点进栈后 开始,由count来计数已出栈的元素个数 public ListNode rotateRight(ListNode head, int n) { if(head == null || n == 0 || head.next == null ) return head; pHead = head; res = head; this.n = n; rotate(head); return res; } /** * * @param head * @param count 尾节点 */ private void rotate(ListNode head) { if(head == null){ //计算节点数后取余 n = n % nodenum; return; } nodenum++; if(head.next == null) tail = head; rotate(head.next); if(n == 0) //n处理为0,即不用移动 return ; if(count == n ){//count 为已出栈的个数,当已出栈个数为 n,当前节点为要移动链表的前一个指针 res = head.next; head.next = null; tail.next = pHead; } count ++; }}
阅读全文
0 0
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- rotate-list
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- 个人解析---caffe elewise层
- python小项目--图片转化为字符画
- Spring Cloud企业微服务分布式云架构技术点整合
- redis.mecmcached和mongoDB的区别
- ReactNative模仿网易云音乐手机客户端,兼容安卓和IOS两个平台
- rotate-list
- 移动web开发问题和优化小结
- leetcode 344. Reverse String
- 范数问题
- Memcached, Redis, MongoDB区别
- 视频出炉 | LeCun、Marcus激辩AI是否需要类似人类的认知能力
- AI人才有多贵?年薪三五十万美元起步,高校教授大量投身工业界
- 特斯拉年底在华建厂,但自动驾驶高管谷俊丽被小鹏汽车挖角了
- 十年了,斯坦福和CMU的这场对决,开启了无人车时代