努力努力再努力✘
努力努力再努力✘
全部文章
分类
MySQL(1)
python高级(3)
数据结构(4)
每日计划(1)
测试用例设计(5)
深夜网抑云(3)
计算机网络(2)
软件测试(13)
面试复盘(6)
项目(1)
题解(38)
归档
标签
去牛客网
登录
/
注册
努力努力再努力✘的博客
一个热爱技术,热爱生活的技术宅,在这里我将记录自己的学习历程
全部文章
(共19篇)
剑指offer16 JZ77 按之字形顺序打印二叉树
层次遍历+双端队列(奇偶层逻辑分离) 1、打印奇数层: 队头出队列 在打印 依次添加左节点 在添加右节点; 2、若 deque 为空,说明向下无偶数层,则跳出; 3、打印偶数层: 队尾出队列,在打印,先添加右节点,在添加左节点 ; import java.util.*; /* public cl...
二叉树
数据结构
2022-05-15
2
279
剑指offer15 JZ33 二叉搜索树的后序遍历序列
首先是二叉搜索树(左子树每个节点的值 < 该节点的值 < 右子树每个节点的值)的特点; 其次是后序遍历(对于树中的任意节点来说,先打印它的左子树,然后再打印它的右子树,最后打印这个节点本身)的特点。 第一步:找到数组最后一位,即根节点root。 紧接着 第二步:获取整个数组的长度,...
二叉树
数据结构
2022-05-14
1
257
剑指offer14 JZ32 从上往下打印二叉树(层序遍历)
将根节点入队 循环(条件队列不为空) 队列头元素出队 访问节点visit()自定义操作 将访问节点的左孩子入队 将右孩子入队。 import java.util.*; /** public class TreeNode { int val = 0; TreeNode left = ...
二叉树
层序遍历
2022-05-14
1
329
剑指offer13 JZ27 二叉树的镜像
递归 使用前序遍历 只要左子树或者右子树有一个不为空就可以交换 最后返回根节点就可以 import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * Tre...
二叉树
数据结构
2022-05-14
1
250
剑指offer12 JZ26 树的子结构
先对比根节点 根节点相同递归对比左节点与右节点 当B访问到为空则说明 为子结构 当A访问为空 说明B不为子结构 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = ...
二叉树
2022-05-13
1
267
剑指offer11 JZ7 重建二叉树
前中序构建二叉树 根据前序遍历找到根节点 在中序遍历中找到根节点的位置 分割出左子树与右子树的元素 在前序数组中分割出左子树元素 中序数组中分割出左子树元素 构造左子树 在前序数组中分割出右子树元素 中序数组中分割出右子树元素 构造右子树 import java.util.*; /** ...
二叉树
数据结构
2022-05-12
1
320
树
二叉树 树的遍历(递归) 树的深度 后续遍历算法的变种,求左子树高度,求右子树高度,选取最大深度+1(+1因为要带上根节点) 总结 二叉树层序遍历 辅助队列 访问该节点时需要将该节点的左右孩子入队列 算法实现 将根节点入队 循环(条件队列不为空) 队列头元素出队 访问节点visit()自...
二叉树
线索化二叉树
数据结构
2022-05-10
2
354
剑指offer10 JZ54 二叉搜索树的第k个节点
思路 根据二叉搜索树的性质,左子树的元素都小于根节点,右子树的元素都大于根节点。因此它的中序遍历(左中右)序列正好是由小到大的次序,因此我们可以尝试递归中序遍历,也就是从最小的一个节点开始,找到k个就是我们要找的目标。 import java.util.*; /* * public class ...
数据结构
二叉树
2022-05-08
1
254
剑指offer09 JZ55 二叉树的深度
终止条件: 当进入叶子节点后,再进入子节点,即为空,没有深度可言,返回0. 返回值: 每一级按照上述公式,返回两边子树深度的最大值加上本级的深度,即加1. 本级任务: 每一级的任务就是进入左右子树,求左右子树的深度。 具体做法: step 1:对于每个节点,若是不为空才能累计一次深度,若是为空,返...
二叉树
深度优先搜索
java
2022-05-07
1
330
首页
上一页
1
2
下一页
末页