java 二叉樹(七)獲取左子樹中的最大節點

2021-07-14 12:15:42 字數 599 閱讀 3197

使用遞迴演算法

此時要獲取a

的左子樹中的最大值,首先分析最大值一定在左子樹中的最右邊,即

b,這個最大值

b也一定沒有右孩子,那麼我們只需要把

a的右孩子的指向指向

c即可,涉及到

b的雙親節點和

b的左孩子。

然後把得到的b節點返回即可。

(上次有錯誤,條件沒覆蓋全,這次修改下,測試完全ok!)

//查詢乙個節點下所有子孫中的最大值,並且刪除這個節點,

public node delfind(node node)

if(node.getrightchild().getrightchild()==null)

node temp=node.getrightchild();

node.setrightchild(null);

return temp;

} return delfind(node.getrightchild());

}

求二叉樹所有左子樹的和

面試的時候的問題,當時腦子可能短路了,有個地方想不通,回來總結的時候發現自己有一點點2,不知道那時那刻面試官的心情是如何的崩潰的 可能是這麼想的,這孩子是不是傻 哈哈,在這裡重新更正下 給你的節點形式 node 乙個二叉樹,求所有左子樹的和。先初始化乙個節點 public class node pu...

二叉樹子樹的刪除

package 二叉樹子樹的刪除 public class binarytree public treenode getroot 前序 public void frontshow else 中序 public void midshow else 後序 public void aftershow el...

二叉樹問題 找到二叉樹中的最大搜尋二叉子樹

題目 給定一棵二叉樹的頭節點head,已知其中所有節點的值都不一樣,找到含有節點最多的搜尋二叉樹,並返回這棵子樹的頭節點。注意子樹的概念 基本思路 以節點node為頭的樹中,最大的搜尋二叉樹只可能來自以下的兩種情況 node的左子樹和右子樹都是搜尋二叉樹,並且左子樹的最大值小於node,右子樹的最小...