leetcode树(简)
leetcode树(简)
自然语言处理玄学实践者
idqq不是本人qq。有事请联系本人qq522671725
展开
-
543. 二叉树的直径
一条路径的长度为该路径经过的节点数减一,求直径就是求路径长度的最大值,等效于求路径经过的节点减一。假设我们知道对该节点的左儿子向下遍历的经过最多的节点为L,右儿子为R 那么经过的节点为L+R+1。算法流程为:我们定义一个递归函数 depth(node)计算节点最大值,,函数返回该节点为根的子树深度,递归调用该节点的左儿子和右二子,求得其子树的深度为L,R 。子树的深度为左右俩儿子子树的max(L,R),深度为max(L.R)+1。递归搜索每个节点 设一个全局变量为ans 记录最大的值 最后返回a原创 2020-10-13 19:50:05 · 165 阅读 · 0 评论 -
226. 翻转二叉树
package leetcode;public class demo13 { public TreeNode invertTree(TreeNode root){ if(root==null){ return null; } TreeNode right=invertTree(root.right); TreeNode left =invertTree(root.left); root.lef原创 2020-10-12 22:28:42 · 100 阅读 · 0 评论 -
104.二叉树的最大深度
package leetcode;public class demo12 { public static void main(String[] args) { //树b TreeNode b=new TreeNode(1); b.left=new TreeNode(5);// b.left.left=new TreeNode(3);// b.left.right=new TreeNode(6); b.原创 2020-10-12 21:54:47 · 79 阅读 · 0 评论 -
leetcode#101对称二叉树
package leetcode;class demo11 { public boolean isSymmetric(TreeNode root) { return check(root,root); } public boolean check(TreeNode p,TreeNode q){ if (p==null&&q==null){ return true; } i原创 2020-10-12 21:01:01 · 84 阅读 · 0 评论 -
leetcode#617合并二叉树(包括生成一个二叉树,打印二叉树,先序遍历,中序遍历,后序遍历)
package leetcode;public class demo10 { public static void main(String[] args) { //树b TreeNode b=new TreeNode(1); b.left=new TreeNode(2); b.left.left=new TreeNode(3); b.left.right=new TreeNode(4); b.righ原创 2020-10-12 19:00:53 · 171 阅读 · 0 评论