LeetCode-链表
heimu24
这个作者很懒,什么都没留下…
展开
-
字符串
题目描述:最长回文子串(Longest Palindromic Substring)给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"/** * 思想:循环遍历字符串,以每一个字符为中心,向两边扩散寻...原创 2019-06-27 09:15:52 · 117 阅读 · 0 评论 -
【链表-6】leetcode-25:k个一组翻转链表(Reverse Nodes in k-Group)
链表问题注意事项:一般在处理链表问题时,我们大多时候都会在开头再加一个 dummy node,因为翻转链表时头结点可能会变化,为了记录当前最新的头结点的位置而引入的 dummy node,有的时候还要注意最后一个结点.next;所谓按照长度K分段,无非就是循环遍历,然后判断 i % k == 0是否满足;所谓的翻转本质上还是插入(三部曲)操作,例如pre–>1–>2–>3...原创 2019-07-09 16:43:46 · 166 阅读 · 0 评论 -
【链表-5】leetcode-24:两两交换链表中的节点(Swap Nodes in Pairs)
题目链接和参考链接题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思想:新建虚拟头结点dummy,使得dummy.next始终指向第一个结点,然后定义临时结点,三行代码(固定顺序)交换即可,建议...原创 2019-07-09 12:09:47 · 122 阅读 · 0 评论 -
【链表-4】leetcode-23:合并K个排序链表(Merge K Sorted Lists)
题目链接和参考链接题目描述:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思想:分而治之思想,进行两两合并,对半划分,k个链表分成k/2个两两合并举例来说,如果合并6...原创 2019-07-09 10:20:48 · 79 阅读 · 0 评论 -
【链表-3】leetcode-21:合并两个有序链表(Merge Two Sorted Lists)
题目链接和参考链接题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思想:新建一个链表,然后比较两个链表中的元素值,将较小的值放到新链表的后端,同时更新那两个输入的链表;处理一下两个链表长度不...原创 2019-07-08 16:36:26 · 88 阅读 · 0 评论 -
【链表-2】leetcode-19:删除链表的倒数第N个结点(Remove Nth Node From End of List)
题目链接和参考链接题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思想:不需要提前进行一次遍历,得到链表的长度,...原创 2019-07-08 15:53:13 · 95 阅读 · 0 评论 -
【链表-1】leetcode-2:两数相加(Add Two Numbers)
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...原创 2019-07-08 11:49:08 · 122 阅读 · 0 评论 -
哈希表
题目描述:两数之和(Two Sum)给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以...原创 2019-06-27 09:18:18 · 173 阅读 · 0 评论 -
数组,链表
ArrayList<String> list = new ArrayList<String>();list.add(E element);list.get(int index)list.indexOf(Object o)list.remove(int index)list.size()数组:int [] a = new int[5]//全部初始化为-1A...原创 2019-06-27 09:17:11 · 96 阅读 · 0 评论 -
【链表-7】leetcode-61:旋转链表(Rotate List)
题目描述:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4-...原创 2019-07-09 22:04:46 · 100 阅读 · 0 评论