【LeetCode笔记】538. 把二叉搜索树转换为累加树(Java、二叉搜索树、递归)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】538. 把二叉搜索树转换为累加树(Java、二叉搜索树、递归)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 思路 & 代碼
- 更新版
題目描述
- 注意是二叉搜索樹,可以找出順序!
- 有點類似中序遍歷
思路 & 代碼
- 思路:當前結(jié)點 root 帶著父值一直走到最右邊,再一個個累加右值
- 更新 root.val += rightSum,然后以 root.val 作為左子樹的父值,遞歸這個過程
- 左子樹遞歸結(jié)束,當前 root 的棧幀返回左子樹的值(畢竟這邊才是最大值嘛)
- 時間復(fù)雜度O(n),相當于遍歷每一個結(jié)點
更新版
- 一段時間過去后,寫出了更加簡單的代碼呢!
- 思路還是:右 - 根 - 左,遞歸
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】538. 把二叉搜索树转换为累加树(Java、二叉搜索树、递归)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0基础必看:如何轻松成为C语言高手
- 下一篇: 【LeetCode笔记】剑指 Offer