【一天一道LeetCode】#61. Rotate List
来源:互联网 发布:矩阵分解svd 视频 编辑:程序博客网 时间:2024/06/03 03:36
一天一道LeetCode系列
(一)题目
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.
(二)解题
本题的思路:
1、找到倒数第K个节点
2、将k以后的节点移动到前面来,与头结点相连。
3、新的头结点就是倒数第k个节点。
需要注意一下几种特殊情况:
1、链表为空或者链表只有一个节点
2、k的值为0或者k的值大于链表的长度
/** * 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(k==0||head == NULL || head->next==NULL) return head; ListNode* pkth = head;//记录倒数第k个节点 ListNode* pLast = head;//记录最后一个节点 ListNode* ptemp =NULL;//倒数第K+1个节点 ListNode* p = head; int length = 0; while(p!=NULL)//求出链表的长度 { p=p->next; ++length; } k %=length;//保证k在0~length之间 if(k==0) return head;//k等于0直接返回head while(pLast != NULL && --k) pLast = pLast->next;//找到正数第K个节点 while(pLast->next !=NULL){//找到倒数第K个节点 ptemp = pkth;//这里用到两个指针,pLast和pkth同时移动,最后pkth就是倒数第K个节点 pkth = pkth->next; pLast = pLast->next; } ptemp->next = NULL; pLast->next = head;//调整链表 return pkth; }};
0 0
- 【一天一道LeetCode】#61. Rotate List
- 【一天一道LeetCode】#48. Rotate Image
- [LeetCode]61.Rotate List
- LeetCode --- 61. Rotate List
- [Leetcode] 61. Rotate List
- [leetcode] 61.Rotate List
- [leetcode] 61. Rotate List
- leetcode 61. Rotate List
- LeetCode 61. Rotate List
- [leetcode] 61. Rotate List
- 61. Rotate List LeetCode
- leetcode 61. Rotate List
- LeetCode 61. Rotate List
- leetcode 61. Rotate List
- [LeetCode]61. Rotate List
- LeetCode 61. Rotate List
- LeetCode *** 61. Rotate List
- LeetCode 61. Rotate List
- 【一天一道LeetCode】#62. Unique Paths
- Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-
- 查看jar包中的源代码
- 最长回文字串
- java享元设计模式
- 【一天一道LeetCode】#61. Rotate List
- UVA 455 Periodic Strings (最短周期串长度)
- Java synchronized详解
- PAT乙级—1046. 划拳(15)-native
- hdu2614 Beat(简单dfs)
- ACM_最短路
- CentOS 6.7下yum安装五笔输入法
- 【CodeForces】[621A]Wet Shark and Odd and Even
- IOS内存管理机制