Leetcode 143. Reorder List(Medium)】的更多相关文章

Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For example,Given {1,2,3,4}, reorder it to {1,4,2,3}. 搞了一天多,纠结到一个while 写成了if........... 思路很清晰,  找出链表的中点…
1. 原题链接 https://leetcode.com/problems/rotate-list/description/ 2. 题目要求 给出一个链表的第一个结点head和正整数k,然后将从右侧开始数第k个结点之后的链表与之前的链表交换位置,例如 3. 解题思路 (1)首先要注意head结点不是指头结点,而是指第一个结点: (2)当head为null或者链表中只有一个结点时,返回head: (3)个人觉得题目出的很不友好,当k=链表的长度时,返回的时原链表:当k大于链表的长度时,则不是...…
1. 原题链接 https://leetcode.com/problems/permutation-sequence/description/ 2. 题目要求 给出整数 n和 k ,k代表从1到n的整数所有排列序列中的第k个序列,返回String类型的第k个序列 3. 解题思路 首先我们要知道这个序列是按照什么规律排列下去的,假如此时n=4,k= 21,n=4时所有的排列如下: 可以看出 n=4 时,一共有 4!=24种排列组合. 每一个数字开头各有 6 种排列组合,因此我们可以把同一数字开头的…
原题链接:https://leetcode.com/problems/container-with-most-water/description/ 题目要求:给定n个非负整数a1,a2,...,an ,每一个整数对应一个坐标(i,ai ).以(i,0)和(i,ai )为端点画一条线段,现在选择两条线段,以x轴为底构成一个容器,请问选择那两条线段时可以使容器盛更多的水? 注意:“短板效应”,容量取决于短的那条边,以及两条线段之间的距离 思路:求出Max[min(line1,line2)*(i1-i…
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For example,Given {1,2,3,4}, reorder it to {1,4,2,3}. 思路: 先把链表分成两节,后半部分翻转,然后前后交叉连接. 大神的代码比我的简洁,注意分两节时用快…
1. 原题链接 https://leetcode.com/problems/unique-paths/description/ 2. 题目要求 给定一个m*n的棋盘,从左上角的格子开始移动,每次只能向右或向下移动一格,直至右下角的格子.返回所有不同路径的总数. 注意:m和n都不超过100 3. 解题思路…
1. 原题链接 https://leetcode.com/problems/merge-intervals/description/ 2. 题目要求 给定一个Interval对象集合,然后对重叠的区域进行合并.Interval定义如下 例如下图中,[1, 3] 和 [2, 6]是有重叠部分的,可以合并成[1, 6] 3. 解题思路 先取第一个interval对象的 start 和 end 的值 ,然后对这个集合进行遍历.比较当前遍历对象的start是否比前一个对象的end小,小的话则说明二者存在…
1. 原题链接 https://leetcode.com/problems/jump-game/description/ 2. 题目要求 给定一个整型数组,数组中没有负数.从第一个元素开始,每个元素的值代表每一次你能从当前位置跳跃的步数.问能否跳到该数组的最后一个元素位置 注意:可以跳的步数超出数组长度依旧视为可以达到最后位置 3. 解题思路 从第一个元素开始遍历,记录下你所能到达的最远位置,例如{2, 2, 0, 1, 2},遍历第一个元素时,你所能到达的最远位置是“i+nums[i]”=2,…
1. 原题链接 https://leetcode.com/problems/spiral-matrix/description/ 2. 题目要求 给定一个二维整型数组,返回其螺旋顺序列表,例如: 最后返回结果为 [1,2,3,6,9,8,7,4,5] 3. 解题思路 按照螺旋的顺序进行遍历,每一次遍历螺旋顺序里的一个圈,如下图每一种颜色代表一次遍历得到的结果 4. 代码实现 import java.util.ArrayList; import java.util.List; public cla…
1. 原题链接 https://leetcode.com/problems/permutations/description/ 2. 题目要求 给定一个整型数组nums,数组中的数字互不相同,返回该数组所有的排列组合 3. 解题思路 采用递归的方法,使用一个tempList用来暂存可能的排列. 4. 代码实现 import java.util.ArrayList; import java.util.List; public class Permutations46 { public static…