Leetcode Rotate List
来源:互联网 发布:淘宝首页流量 编辑:程序博客网 时间:2024/06/08 01:58
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
.
创建一个哨兵节点phead,pthread->next=head,第一次遍历求出链表的长度len以及链表的最后节点tail,k=k%len,通过第二次遍历找到前半段的最后一个节点curr。如果curr==tail,那么说明k%len为0,只需返回head;否则phead->next = tail,tail->next=curr->next;curr->next = NULL(不加的还结果为循环列表,导致leetcode判定会超时);返回pthread->next.
代码如下:
/** * 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 == NULL || head->next == NULL || k == 0) return head; ListNode* phead = new ListNode(0); ListNode* curr= head,*tail = head; int len =0; while(tail->next != NULL) { tail = tail->next; len++; } len++; k = k%len; if(k == 0 ) return head; int count = 0; while( count < len-k-1) { curr = curr->next; count++; } phead->next = curr->next; curr->next = NULL; tail->next = head; return phead->next; }};
阅读全文
0 0
- [leetcode][list] Rotate List
- LeetCode: Rotate List
- LeetCode Rotate List
- LeetCode : Rotate List
- [Leetcode] Rotate List
- [LeetCode] Rotate List
- [leetcode] Rotate List
- leetcode 70: Rotate List
- [Leetcode] Rotate List
- 【leetcode】Rotate List
- [LeetCode]Rotate List
- [leetcode]Rotate List
- LeetCode-Rotate List
- [leetcode] Rotate List
- LeetCode - Rotate List
- LeetCode:Rotate List
- LeetCode 61: Rotate List
- leetcode之Rotate List
- javascript:void(0)的用法
- jquery ul li 设置前三条新闻新图标提示
- jQuery仿天猫完美加入购物车
- jquery radio
- 开源实时日志分析ELK平台部署【入门篇】
- Leetcode Rotate List
- css初始化代码 解决浏览器不兼容问题
- 拓扑排序 (一种给定的特殊排序)
- 弹出DIV遮蔽层效果
- Glide加载圆形、圆角等图片的用法
- ubuntu下安装web服务器及爬虫框架
- android布局属性详解
- Spring关于CORS跨域支持的全局配置(代码实战)
- synchronized与static synchronized 的区别