12 2020 档案
摘要:题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。 解法:广度优先搜索 思路:使用层次遍历,只要该层存在某颗树没有子树,则直接返回其深度,否则让深度加1 代码: /** Definition for a binary t
阅读全文
摘要:题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 解法:广度优先搜索 思路:使用栈 代码: /** Definition for a binary tree node. public class TreeNode { int val;
阅读全文
摘要:题目:给定一个二叉树,检查它是否是镜像对称的。 解法一:递归 思路:递归判断根节点的左右子树p,q是否是对称二叉树 代码: /** Definition for a binary tree node. public class TreeNode { int val; TreeNode left; T
阅读全文
摘要:题目:从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 解法:广度优先搜索 思路:使用队列,队列存放的是当前某一层的所有节点,所以出队时同时把节点加入到list中,那么这个list存放的将是某一层的所有节点 代码: /** Definition for a binary
阅读全文