fFee-ops's Blog
03
05
剑指 Offer 31. 栈的压入、弹出序列 剑指 Offer 31. 栈的压入、弹出序列
剑指 Offer 31. 栈的压入、弹出序列 解题思路 代码 解题思路借用一个辅助栈 stack,模拟 压入 / 弹出操作的排列。根据是否模拟成功,即可得到结果。 主要步骤: 入栈操作: 按照压栈序列的顺序执行。 出栈操作: 每次入
2021-03-05
05
319. 灯泡开关(高频题) 319. 灯泡开关(高频题)
319. 灯泡开关 题目 解题思路 代码 题目初始时有 n 个灯泡处于关闭状态。 对某个灯泡切换开关意味着:如果灯泡状态为关闭,那该灯泡就会被开启;而灯泡状态为开启,那该灯泡就会被关闭。 第 1 轮,每个灯泡切换一次开关。即,打开所有
2021-03-05
05
05
Integer用==比较的坑 Integer用==比较的坑
Integer在用==的时候是比较地址,但是如果你的Integer的值在[-128,127]之间,Integer会直接引用这个缓存变量,只有超过这个区间才会new 一个Integer对象
2021-03-05
04
剑指 Offer 29. 顺时针打印矩阵 剑指 Offer 29. 顺时针打印矩阵
剑指 Offer 29. 顺时针打印矩阵 解题思路 代码 解题思路顺时针打印矩阵的顺序是 “从左向右、从上向下、从右向左、从下向上” 循环。因此,考虑设定矩阵的“左、上、右、下”四个边界,模拟以上矩阵遍历顺序。 主要流程: 根据边
2021-03-04
04
04
剑指 Offer 27. 二叉树的镜像 剑指 Offer 27. 二叉树的镜像
剑指 Offer 27. 二叉树的镜像 解题思路 代码 解题思路很简单,就是递归调用mirrorTree()得到输入的那个节点,比如你输入的是mirrorTree(root.right)那么返回的节点其实就是root.right,然后
2021-03-04
04
剑指 Offer 26. 树的子结构 剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 解题思路 代码 解题思路主要是要构建一个辅助函数:来判断以x为根节点的树是否包含B 代码/** * Definition for a binary tree node. * public c
2021-03-04
04
剑指 Offer 25. 合并两个排序的链表 剑指 Offer 25. 合并两个排序的链表
剑指 Offer 25. 合并两个排序的链表 解题思路 代码 解题思路第一想法就是双指针。单链表一般用快慢指针,剩下的一般用普通双指针。本题核心思路,新建一个链表,然后遍历比较l1,l2当前的节点,把小的那个放到新链表去,多次重复。
2021-03-04
04
剑指 Offer 24. 反转链表 剑指 Offer 24. 反转链表
剑指 Offer 24. 反转链表 解题思路 代码 解题思路链表–>快慢指针,但是这题的快慢指针有点难理解奥?就理解成普通双指针也行。主要就是理清楚反转节点的步骤。 把需要反转的节点的下一个节点保存起来 反转当前节点,指向
2021-03-04
04
剑指 Offer 22. 链表中倒数第k个节点 剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 解题思路 代码 解题思路链表嘛,第一反应快慢指针。让快指针先走k 步,然后快慢同时前进相同的步数,快指针走到null,慢指针的位置就是倒数第k个元素 代码/** * Definitio
2021-03-04
04
15 / 26