java 求二叉树深度
算法很简单,就是比较左子节点深度 右节点深度
还有一个核心内容就是如果有值就+1,+1这个是整个算法的核心。
package javatest.suanfa.Erchashu;public class dept { int height(TreeNode T) { if (T==null) { return 0; } int l=height(T.getLeftChild()); int r=height(T.getRightChild()); System.out.PRintln("l==="+l+"---r=="+r+"------T==="+T.val); if (l>r) { return (l+1); } return (r+1); } public static void main(String[] args) { // TODO Auto-generated method stub TreeNode node = new TreeNode(1); TreeNode node21 = new TreeNode(21); TreeNode node22 = new TreeNode(22); TreeNode node31 = new TreeNode(31); TreeNode node32 = new TreeNode(32); TreeNode node33 = new TreeNode(33); TreeNode node43 = new TreeNode(43); node.setLeftChild(node21); node.setRightChild(node22); node21.setLeftChild(node31); node21.setRightChild(node32); node22.setRightChild(node33); node33.setRightChild(node43); dept dp = new dept(); System.out.println(dp.height(node)); }}
新闻热点
疑难解答