上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 404、左叶子之和 基本思想: 首先要注意是判断左叶子,不是二叉树左侧节点,所以不能用层序遍历。 左叶子的定义:如果左节点不为空,且左节点没有左右孩子,那么这个节点就是左叶子 具体实现: 1、递归参数和返回值 参数:根节点 返回值:数值之和 2、终止条件 root==null 3、单层递归的逻辑 遇 阅读全文
posted @ 2021-11-10 22:44 最近饭吃的很多 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 257、二叉树的所有路径 具体实现: 1.递归函数参数和返回值 参数:根节点,记录每一条路径的path,存放结果集的result 返回值:无 2.递归终止条件 遍历到叶子节点,也就是这个节点没有左孩子和右孩子时 path来记录路径 res存放结果 if (root.left == null && r 阅读全文
posted @ 2021-11-09 21:44 最近饭吃的很多 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 110、平衡二叉树 具体实现: 1.明确高度和深度 求深度用前序遍历,高度用后序遍历 2.这道题比较高度用后序遍历 (1)确定递归的参数和返回值 参数:根节点 返回值:传入节点为根节点树的深度 如果当前传入节点为根节点的二叉树不是二叉平衡树了,就返回-1来标记已经不符合平衡树的规则 (2)确定终止条 阅读全文
posted @ 2021-11-09 21:05 最近饭吃的很多 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 101、对称二叉树 基本思想: 比较的是两个子树的里侧和外侧 遍历顺序为后序遍历, 因为要通过递归函数的返回值来判断两个子树的内侧节点和外侧节点是否相等 一个树的遍历顺序是左右中,一个树的遍历顺序是右左中 具体实现: 1.确定递归函数的参数和返回值 参数:左子树节点和右子树节点 返回值:布尔类型 2 阅读全文
posted @ 2021-11-07 17:58 最近饭吃的很多 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 102、二叉树的层序遍历 基本思想: 从上到下、从左到右依次依次将每个数放入到队列中,然后按顺序依次打印就是想要的结果 具体实现: 1.先将二叉树的根节点放到队列que中 2.第一层循环中 定义列表itemList放二叉树每一层的结果 3.第二程循环中 len控制每一层,减到0的话说明二叉树的一层遍 阅读全文
posted @ 2021-11-06 22:21 最近饭吃的很多 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 94、二叉树的中序遍历 基本思想: 中序遍历,左中右,先访问的是二叉树顶部的节点, 然后一层一层向下访问,直到到达树左面的最底部, 再开始处理节点(也就是在把节点的数值放进result数组中), 这就造成了处理顺序和访问顺序是不一致的。 在使用迭代法写中序遍历,就需要设置一个当前节点来帮助访问节点, 阅读全文
posted @ 2021-11-05 20:55 最近饭吃的很多 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 145、二叉树的后序遍历 具体实现: 1.确定递归函数的参数和返回值 参数:头结点,放节点的数组 2.确定终止条件 当前遍历的节点是空 3.单层递归逻辑 后序遍历是右左中,所以先取右节点的数值 代码: class Solution { public List<Integer> postorderTr 阅读全文
posted @ 2021-11-05 20:54 最近饭吃的很多 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 347、前k个高频元素 基本思想: 要统计元素出现频率 对频率排序 找出前K个高频元素 具体实现: 对频率进行排序,使用优先级队列 https://blog.csdn.net/qq_35326718/article/details/72866180 1.满二叉树除了叶子节点,其余所有节点都有左右孩子 阅读全文
posted @ 2021-11-04 22:15 最近饭吃的很多 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 150、逆波兰表达式求值 基本思想: 和1047题想法是差不多,只不过本题不要相邻元素做消除了,而是做运算 具体实现: 代码: class Solution { public int evalRPN(String[] tokens) { Deque<Integer> stack = new Link 阅读全文
posted @ 2021-11-03 21:06 最近饭吃的很多 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 20、括号合法性 基本思想: 栈(用deque实现的栈) 具体实现: 在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单 情况1:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 情况2:遍历字 阅读全文
posted @ 2021-11-02 22:47 最近饭吃的很多 阅读(97) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页