LeetCode 题解之Rotate List
1、题目描述

2、题目分析
首先数出链表中的元素个数count,然后对k = k % count 求余数。接着将链表形成一个环,从最后一个元素开始,运动 count - k 步,此时节点的下一个节点就是结果的头节点。
3、代码
 ListNode* rotateRight(ListNode* head, int k) {
         if( !head || head->next == NULL ){
             return head;
         }
         int count = ;
         ListNode* p = head ;
         while( p != NULL ){
             ++count ;
             p = p->next;
         }
         k = k % count ;
         p = head;
         while( p->next != NULL ){
             p = p->next;
         }
         p->next = head;
         int n = count - k ;
         while( n ){
             p = p->next ;
             n--;
         }
         ListNode* res = p->next ;
         p->next = NULL ;
         return res;
     }
LeetCode 题解之Rotate List的更多相关文章
- LeetCode题解:Rotate List
		
Rotate List Given a list, rotate the list to the right by k places, where k is non-negative. For exa ...
 - LeetCode题解之Rotate Array
		
1.题目描述 2.代码 void rotate(vector<int>& nums, int k) { ) return ; && (k / nums.size() ...
 - LeetCode题解之Rotate String
		
1.题目描述 2.问题分析 直接旋转字符串A,然后做比较即可. 3.代码 bool rotateString(string A, string B) { if( A.size() != B.size( ...
 - 【LeetCode题解】二叉树的遍历
		
我准备开始一个新系列[LeetCode题解],用来记录刷LeetCode题,顺便复习一下数据结构与算法. 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有 ...
 - leetcode题解-122买卖股票的最佳时期
		
题目 leetcode题解-122.买卖股票的最佳时机:https://www.yanbinghu.com/2019/03/14/30893.html 题目详情 给定一个数组,它的第 i 个元素是一支 ...
 - 【LeetCode题解】3_无重复字符的最长子串(Longest-Substring-Without-Repeating-Characters)
		
目录 描述 解法一:暴力枚举法(Time Limit Exceeded) 思路 Java 实现 Python 实现 复杂度分析 解法二:滑动窗口(双指针) 思路 Java 实现 Python 实现 复 ...
 - 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)
		
目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...
 - 【LeetCode题解】232_用栈实现队列(Implement-Queue-using-Stacks)
		
目录 描述 解法一:在一个栈中维持所有元素的出队顺序 思路 入队(push) 出队(pop) 查看队首(peek) 是否为空(empty) Java 实现 Python 实现 解法二:一个栈入,一个栈 ...
 - 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
		
目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...
 
随机推荐
- MyCat不支持的SQL语句
			
SELECT: Ø 跨分片(实体库)的交叉查询 Ø 跨节点的联合查询 (如用户库的表和平台库的表做联合查询) INSERT: Ø 插入的字段不包含分片字段 (如插入tbl_user_base_info ...
 - 如何自定义Tomcat Realm实现我们的用户认证需求
			
导读 Tomcat对于J2EE或Java web开发者而言绝不陌生,但说到Realm,可能有些人不太清楚甚至没有听说过,那么到底什么是Realm?简单一句话就是:Realm是Tomcat中为web应用 ...
 - WPF中一个控件绑定另一个控件的属性
			
如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin="50,130"> &l ...
 - ObjectOutputStream
			
public class Test { public static void main(String[] args) throws Exception { //writeObject(); readO ...
 - angular $q promise详解
			
前言 通过本文,你大概能清楚angular promise是个啥,$q又是个啥,以及怎么用它.这里咱们先灌输下promise的思想. 下面写的全是废话,一些看着高逼格其实没什么大作用的概念,想知道$q ...
 - 性能提速:debounce(防抖)、throttle(节流/限频)
			
debounce与throttle是用户交互处理中常用到的性能提速方案,debounce用来实现防抖动,throttle用来实现节流(限频).那么这两个方法到底是什么(what)?为何要用(why-解 ...
 - Spark2.1.0——剖析spark-shell
			
在<Spark2.1.0——运行环境准备>一文介绍了如何准备基本的Spark运行环境,并在<Spark2.1.0——Spark初体验>一文通过在spark-shell中执行wo ...
 - MVC应用程序使用Entity Framework
			
创建空的MVC应用程序,为了想使用Entity Framework的类库,发现即无法正常引用.如下图,Insus.NET已经明确引了System.Data.Entity(下图Highlight的代码) ...
 - StreamReader 的ReadLine,Read,ReadToEnd方法
			
1.ReadLine() 当遇到\n \r 或者是\r\n的时候 此方法返回这前面的字符串,然后内部的指针往后移一位下次从新的地方开始读,直到遇到数据的结尾处返回null,所以经常这样使用 ...
 - Android studio删除工程项目
			
本新手最近学Android都是用的eclipse.其实个人觉得eclipse不错,可能接触Android不久,倒也不觉得它慢还是怎样.对于Google的Android studio也是早有耳闻,前两天 ...