450. Delete Node in a BST - Medium
前往題目
想法
- 找到目標後直接刪除,把
parent
直接接到他的子樹
思路
但這樣的想法有點問題,因為沒有考慮到樹的右子樹必須要大於父節點
Recursion
- 遇到
null
直接回傳root
,回傳null
也行,反正都是同樣的值 - 接著就看當前節點是否是
Key
,大於的話就往左邊繼續搜尋,反之往右邊 - 如果找到同樣的值,只有左或者右一個子樹的時候直接捨棄當前節點,接上子樹就好
- 如果他同時有右子樹和左子樹,那就往右子樹搜尋最小值,並把那個值放到當前節點,並且把右子樹那個最小值刪除,並同時保證是
BST
Code
450. Delete Node in a BST - Medium
https://f88083.github.io/2024/10/25/450-Delete-Node-in-a-BST-Medium/