- 浏览: 185511 次
- 性别:
- 来自: 济南
文章分类
最新评论
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.
旋转一个链表,首先我们计算出链表的长度len,如果k % len == 0, 我们可以直接返回head,如果不为0,我们就让head移动 len - 1 - (k % len)次,将链表分为两部分,这样剩下的右边部分就是长度为k的一个链表,然后将后面长度为k的链表连接到左边部分的链表就完成了。代码如下:
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
旋转一个链表,首先我们计算出链表的长度len,如果k % len == 0, 我们可以直接返回head,如果不为0,我们就让head移动 len - 1 - (k % len)次,将链表分为两部分,这样剩下的右边部分就是长度为k的一个链表,然后将后面长度为k的链表连接到左边部分的链表就完成了。代码如下:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode rotateRight(ListNode head, int k) { if(head == null) return null; int sum = 1; ListNode tem = head; while(tem.next != null) { sum ++; tem = tem.next; } k %= sum; if(k == 0) return head; int step = sum - k - 1; ListNode helper = head; while(step > 0) { helper = helper.next; step --; } ListNode node = helper.next; helper.next = null; tem.next = head; return node; } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 271Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 274You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 392Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 380Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 506Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 570Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 484Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 674Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 477The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 436Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 585Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 594Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 432All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 908Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 936Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 608Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 702Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 867Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 795You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 733For a undirected graph with tre ...
相关推荐
javascript js_leetcode题解之61-rotate-list.js
- **Rotate List**:将链表顺时针旋转指定次数。 - **Reorder List**:按照特定规则重新排列链表。 - **Partition List**:将链表按值分割成两个部分。 - **Add Two Numbers**:两个非负整数相加,结果存储在...
c语言入门 C语言_leetcode题解之61-rotate-list.c
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
18. **Rotate List**:旋转链表,例如将链表的最后k个节点移动到前面。通过计算链表长度和找到k的相对位置来实现。 19. **Swap Nodes in Pairs**:交换链表中相邻的节点对。可以使用迭代,每次处理一对节点。 20. ...
- **2.2.6 Rotate List** - 旋转链表。 - 实现思路:先找到链表尾部并断开,然后连接到头部前面。 - **2.2.7 Remove Nth Node From End of List** - 删除链表倒数第n个节点。 - 实现思路:使用快慢指针,快...
- **旋转链表(Rotate List)**: 给定一个链表和一个整数k,将链表向右旋转k个位置。 - **重排链表(Reorder List)**: 给定一个单链表L,将其重新排列为A-B-A-B形式。 - **划分链表(Partition List)**: 将链表中所有...
- Rotate List: 给定一个链表的头节点head,当旋转了k个位置后,返回链表的新头节点。 - Unique Paths / Unique Paths II: 前者计算从矩阵的左上角到右下角的路径数量;后者则考虑了障碍物。 - Minimum Path Sum: 在...
RotateList LeetCode 75 Sort Colors LeetCode 125 Valid Palindrome LeetCode 167 Two Sum II - Input array is sorted LeetCode 344 Reverse String LeetCode 345 Reverse Vowels of a String 2 字符串 编号 题目 ...
Rotate List 最大不同 318. Maximum Product of Word Lengths 【这个题目LTE 复杂度已经降下了】 最长不重复字符串3. Longest Substring Without Repeating Characters ----2016.10.08 移动0到末尾 283. Move Zeroes...
ListNode* rotateList(ListNode* head, int k) { if (head == NULL || head->next == NULL || k ) return head; int len = 1; ListNode* tail = head; while (tail->next != NULL) { tail = tail->next; len++...
在Android开发中,"Rotate"通常指的是旋转动画,这是一种视图动画(View Animation)的效果,用于改变界面元素的方向或角度。这种动画效果可以增强用户界面的交互性和动态感,比如在加载进度时,一个旋转的指示器能...
在res/anim目录下创建一个名为rotate_loading.xml的文件,内容如下: ```xml <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> android:drawable="@...
本文聚焦于`layer-list`这一XML元素,它是Android资源文件中用于创建复杂图形和布局的一种方式,特别是在处理不同屏幕密度时非常实用。`layer-list`允许开发者将多个Drawable对象按层次堆叠,从而实现如背景、边框、...
这里的"flist"可能是“file list”的缩写,也可能是一种特定的数据结构。 5. **spl_sqrt_floor.c**: 这个文件可能包含了对浮点数取平方根并向下取整的操作,通常在数学计算或物理模拟中会用到。 6. **spinlock_api...
同时,通过`animation-list`可以创建帧动画,适用于简单的动图效果。 总的来说,通过XML配置实现的Android动画机制为开发者提供了丰富的可能性,让应用的交互变得更加丰富多彩。在`myActionAnimation`这个项目中,...
SVG classList Polyfill IE11和其他旧版浏览器不支持的SVG元素上的classList方法(包含,添加,删除,切换)的Polyfill。... toggle ( 'icon--rotate' ) icon . classList . remove ( 'icon--blue' ) icon . classList