java 求二叉樹深度
算法很簡單,就是比較左子節(jié)點深度 右節(jié)點深度
還有一個核心內(nèi)容就是如果有值就+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)); }}
新聞熱點
疑難解答