61. Rotate List (旋转链表)
来源:互联网 发布:狮王牙刷 知乎 编辑:程序博客网 时间:2024/05/22 13:11
题目链接:https://leetcode.com/problems/rotate-list/description/
题目大意:给一个链表,将其旋转K次得到最终链表
题解:显然是个要求循环节的问题,求好后先将需要翻转的那部分加入新的链表中,再将剩余(即头结点)后的加入,需要注意最终的终止条件是NULL
= =、最近要准备面试的东西,还是得多写点题
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: int calcu(ListNode* head) { int n = 0 ; while(head) { n++; head = head->next; } return n; } ListNode* rotateRight(ListNode* head, int k) { ListNode *p = head ; ListNode *newlist = new ListNode(0); ListNode *list = newlist; int cnt = calcu(head); if(cnt==0) return NULL; if(cnt==1) return head; k = k%cnt; for(int i = 0 ; i < cnt-k ; i++) { p = p->next; } for(int i = 0 ; i < k ; i++) { list->next = p ; cout<<list->next->val<<" "; list = list->next; p = p->next; } cout<<endl; for(int i = 0 ; i < cnt-k;i++) { list ->next = head; cout<<list->next->val<<" "; head = head->next; list = list->next; } cout<<endl; list->next = NULL; newlist = newlist->next; return newlist; }};
阅读全文
0 0
- 61. Rotate List (旋转链表)
- Rotate List(链表旋转)
- LeetCode 61. Rotate List(旋转链表)
- Leetcode 61. Rotate List (旋转链表)
- Rotate List 旋转链表
- 旋转链表---Rotate List
- LeetCode-----61. Rotate List(循环旋转链表)
- LeetCode OJ 之 Rotate List (链表旋转)
- 170.Rotate List-旋转链表(中等题)
- leetcode Rotate list (链表旋转)的python实现
- Rotate List 旋转链表 @LeetCode
- LeetCode(Rotate List) 旋转链表
- LeetCode:Rotate List(旋转链表)
- Leetcode Rotate List 旋转链表
- Rotate List 部分旋转链表
- [Lintcode]Rotate List旋转链表
- leetcode解题61. Rotate List java版(旋转链表)
- leetCode 61.Rotate List (旋转链表) 解题思路和方法
- Java设计模式之适配器模式
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 使用TensorFlow双流卷积神经网络对CK+表情数据库进行分类
- Java 中的编译期常量是什么?使用它有什么风险?
- String常量池问题的几个例子
- 61. Rotate List (旋转链表)
- win10专业版秘钥激活
- Memcache
- 电商分类展示
- Paxos异常情况总结
- 沉浸式状态栏的实现
- Java 常用工具类 Collections 源码分析
- java+内存分配及变量存储位置的区别
- [Dsu on tree]CodeForces 600 E