生活随笔
收集整理的這篇文章主要介紹了
二叉树删除节点,(查找二叉树最大值节点)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從根節點往下分別查找左子樹和右子樹的最大節點,再比較左子樹,右子樹,根節點的大小得到結果,在得到左子樹和右子樹最大節點的過程相似,因此可以采用遞歸的
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);??????}??}??
轉載于:https://www.cnblogs.com/Darkqueen/p/9165794.html
總結
以上是生活随笔為你收集整理的二叉树删除节点,(查找二叉树最大值节点)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。