生活随笔
收集整理的這篇文章主要介紹了
二叉树删除节点,(查找二叉树最大值节点)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
從根節(jié)點(diǎn)往下分別查找左子樹和右子樹的最大節(jié)點(diǎn),再比較左子樹,右子樹,根節(jié)點(diǎn)的大小得到結(jié)果,在得到左子樹和右子樹最大節(jié)點(diǎn)的過(guò)程相似,因此可以采用遞歸的
public?class?TreeNode?{??????TreeNode?left;??????TreeNode?right;??????int?val;??????TreeNode(int?val){??????????this.val?=?val;??????}??}??public?class?Solution?{??????????public?static?TreeNode?maxNode(TreeNode?root){??????????????????if?(root?==?null)?{??????????????return?root;??????????}?????????????????????TreeNode?left?=?maxNode(root.left);????????TreeNode?right?=?maxNode(root.right);????????return?max(root,max(left,right));??????????????}??????public?static?TreeNode?max(TreeNode?a,TreeNode?b)?{??????????if?(a?==?null)?{??????????????return?b;??????????}??????????if?(b?==?null)?{??????????????return?a;??????????}??????????if?(a.val?>?b.val)?{??????????????return?a;??????????}??????????return?b;??????}??????public?static?void?main(String[]?args)?{??????????TreeNode?t1?=?new?TreeNode(1);??????????TreeNode?t2?=?new?TreeNode(-5);??????????TreeNode?t3?=?new?TreeNode(3);??????????TreeNode?t4?=?new?TreeNode(1);??????????TreeNode?t5?=?new?TreeNode(2);??????????TreeNode?t6?=?new?TreeNode(-4);??????????TreeNode?t7?=?new?TreeNode(-5);??????????t1.left?=?t2;t1.right?=?t5;??????????t2.left?=?t3;t2.right?=?t4;??????????t5.left?=?t6;t5.right?=?t7;??????????System.out.println(Solution.maxNode(t1).val);??????}??}??
轉(zhuǎn)載于:https://www.cnblogs.com/Darkqueen/p/9165794.html
總結(jié)
以上是生活随笔為你收集整理的二叉树删除节点,(查找二叉树最大值节点)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。