LeetCode
_lijunru
希望能定时产出自己的知识总结
展开
-
【LeetCode】31. 下一个排列
题目描述 链接:下一个排列 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 解答思路 主要流程 找出最大...原创 2019-11-08 16:10:49 · 156 阅读 · 0 评论 -
【LeetCode】9. 回文数
题目描述 链接:回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一...原创 2019-11-07 22:58:35 · 107 阅读 · 0 评论 -
【LeetCode】33. 搜索旋转排序数组
题目描述 链接:搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例1: 输入: nums = [4,5,...原创 2019-11-07 22:26:52 · 104 阅读 · 0 评论 -
【LeetCode】143. 重排链表
题目描述 题目原链接:重排链表 给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 解释: 因为无重复字符的最长子串是 “abc”,所以其长...原创 2019-11-06 14:37:52 · 206 阅读 · 0 评论 -
【LeetCode】3. 无重复字符的最长子串
题目描述 题目原链接:无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3...原创 2019-11-04 19:28:18 · 107 阅读 · 0 评论 -
【LeetCode】2. 两数相加
题目描述 题目原链接:两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出...原创 2019-11-04 18:51:48 · 128 阅读 · 0 评论 -
【LeetCode】23. 合并K个排序链表
题目描述 K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例 : 给定这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k = 3 时,应当...原创 2019-10-29 19:03:43 · 91 阅读 · 0 评论 -
【LeetCode】148. 排序链表
题目描述 链接:排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例1: 输入: 4->2->1->3 输出: 1->2->3->4 示例2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 解答思路 由于时间复杂度要求是O(n log n),所...原创 2019-10-29 10:30:21 · 92 阅读 · 0 评论