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