fFee-ops's Blog
剑指 Offer 33. 二叉搜索树的后序遍历序列 剑指 Offer 33. 二叉搜索树的后序遍历序列
剑指 Offer 33. 二叉搜索树的后序遍历序列 解题思路 代码 解题思路先来看一个二叉树的后序遍历:[3,5,4,10,12,9]。 后续遍历的最后一个数字一定是根节点,所以数组中最后一个数字9就是根节点 我们从前往后找到第一个
2021-03-05
剑指 Offer 32 - III. 从上到下打印二叉树 III 剑指 Offer 32 - III. 从上到下打印二叉树 III
剑指 Offer 32 - III. 从上到下打印二叉树 III 解题思路 代码 解题思路和前面两个上到下打印二叉树一样,不过有个特点,要按照z字形打印每一层的元素,其实总结一下就是奇数层正序打印,偶数层倒序打印,要实现这个功能很简单
2021-03-05
剑指 Offer 32 - II. 从上到下打印二叉树 II 剑指 Offer 32 - II. 从上到下打印二叉树 II
剑指 Offer 32 - II. 从上到下打印二叉树 II 解题思路 代码 解题思路和从上到下打印二叉树 I一样,只不多添加一个temp来保存每一层的节点值。 代码/** * Definition for a binary tre
2021-03-05
剑指 Offer 32 - I. 从上到下打印二叉树 剑指 Offer 32 - I. 从上到下打印二叉树
剑指 Offer 32 - I. 从上到下打印二叉树 解题思路 代码 解题思路层级遍历,无脑BFS模板,甚至还可以省略回头记录,和步数 代码/** * Definition for a binary tree node. * pu
2021-03-05
剑指 Offer 31. 栈的压入、弹出序列 剑指 Offer 31. 栈的压入、弹出序列
剑指 Offer 31. 栈的压入、弹出序列 解题思路 代码 解题思路借用一个辅助栈 stack,模拟 压入 / 弹出操作的排列。根据是否模拟成功,即可得到结果。 主要步骤: 入栈操作: 按照压栈序列的顺序执行。 出栈操作: 每次入
2021-03-05
319. 灯泡开关(高频题) 319. 灯泡开关(高频题)
319. 灯泡开关 题目 解题思路 代码 题目初始时有 n 个灯泡处于关闭状态。 对某个灯泡切换开关意味着:如果灯泡状态为关闭,那该灯泡就会被开启;而灯泡状态为开启,那该灯泡就会被关闭。 第 1 轮,每个灯泡切换一次开关。即,打开所有
2021-03-05
剑指 Offer 30. 包含min函数的栈 剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈 解题思路 代码 解题思路可通过建立辅助栈实现本题。 代码 class MinStack { Stack<Integer> A; Stack<
2021-03-05
剑指 Offer 29. 顺时针打印矩阵 剑指 Offer 29. 顺时针打印矩阵
剑指 Offer 29. 顺时针打印矩阵 解题思路 代码 解题思路顺时针打印矩阵的顺序是 “从左向右、从上向下、从右向左、从下向上” 循环。因此,考虑设定矩阵的“左、上、右、下”四个边界,模拟以上矩阵遍历顺序。 主要流程: 根据边
2021-03-04
剑指 Offer 28. 对称的二叉树 剑指 Offer 28. 对称的二叉树
剑指 Offer 28. 对称的二叉树 解题思路 代码 解题思路 代码/** * Definition for a binary tree node. * public class TreeNode { * int va
2021-03-04
剑指 Offer 27. 二叉树的镜像 剑指 Offer 27. 二叉树的镜像
剑指 Offer 27. 二叉树的镜像 解题思路 代码 解题思路很简单,就是递归调用mirrorTree()得到输入的那个节点,比如你输入的是mirrorTree(root.right)那么返回的节点其实就是root.right,然后
2021-03-04
剑指 Offer 26. 树的子结构 剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 解题思路 代码 解题思路主要是要构建一个辅助函数:来判断以x为根节点的树是否包含B 代码/** * Definition for a binary tree node. * public c
2021-03-04
剑指 Offer 25. 合并两个排序的链表 剑指 Offer 25. 合并两个排序的链表
剑指 Offer 25. 合并两个排序的链表 解题思路 代码 解题思路第一想法就是双指针。单链表一般用快慢指针,剩下的一般用普通双指针。本题核心思路,新建一个链表,然后遍历比较l1,l2当前的节点,把小的那个放到新链表去,多次重复。
2021-03-04
8 / 21