Rotate List
来源:互联网 发布:新乡市网络培训学校 编辑:程序博客网 时间:2024/06/03 15:28
题目61:Rotate List
题目描述:
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
题目分析:
看了别人的做法,挺好的哈。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* rotateRight(ListNode* head, int k) { if (head == nullptr || k == 0) return head; ListNode *mov; int len, steps; mov = head; len = 1; steps = 0; while (mov->next) { ++ len; mov = mov->next; } if (k % len == 0) return head; mov->next = head; steps = len - (k % len); while (steps) { mov = mov->next; -- steps; } head = mov->next; mov->next = nullptr; return head; }};
参考:
[1] http://fisherlei.blogspot.com/2013/01/leetcode-rotate-list.html
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
- the-target-overrides-the-other-ldflags-build-setting-defined-in-pods-pods
- 如何开发webservice
- 分离整数和小数部分
- 为什么32位的win2003服务器系统支持超过4G甚至更多的内存
- 彻底理解position与anchorPoint
- Rotate List
- 最简单的基于FFmpeg的移动端例子:IOS 推流器
- 9. PHP 字符串
- freemarker的学习
- win7删除旗舰版iso一个文件可以显示所有安装版本
- 在Xcode中安装低版本的SDK和模拟器
- Redis监控技巧总结
- Linux显示文件命令之cat/tac
- Windows Server 2012 R2在桌面上显示计算机/网络图标