摘要:
**Two Sum ** 题目描述: Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return i 阅读全文
摘要:
单调栈 单调栈简单来说是在栈的先进后出基础之上额外添加一个特性:从栈顶到栈底的元素是严格递增(or递减) 具体进栈过程如下: 对于单调递增栈,若当前进栈元素为 e,从栈顶开始遍历元素,把小于 e 或者等于 e 的元素弹出栈,直接遇到一个大于 e 的元素或者栈为空为止,然后再把 e 压入栈中。 对于单 阅读全文
摘要:
92.反转链表 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 构建一个虚拟节点,让它指向原链表的头节点。 设置两个指针,pre 指针指向以虚拟头节点为链表的头部位 阅读全文
摘要:
142.环形链表 II 方式一:哈希表 我们遍历链表中的每个节点,并将它记录下来;一旦遇到了此前遍历过的节点,就可以判定链表中存在环。借助哈希表可以很方便地实现。 public class Solution { public ListNode detectCycle(ListNode head) { 阅读全文
摘要:
86.分隔链表 这个题的意思比较简单就是要把小于x的放一边,大于x的放一边,我们可以把这一个链表分为大于 x,和小于 x 的两个链表,分开后只需要将小于 x 链表的最后一个结点的 next 指向大于 x 链表的头结点的 next 即可,最后将大于 x 链表的最后一个元素置为null即可 class 阅读全文
摘要:
第一周,链表、栈、队列 206. 反转链表 方法一: 双指针法: 定义两个指针:pre 和 cur 每次让 pre 的 next 指向 cur,实现一次局部反转 局部反转完成之后,pre 和 cur 同时往前移动一个位置 循环上述过程,直至 pre 到达链表尾部 class Solution { p 阅读全文