二叉搜索时与双向链表python_剑指Offer(二十六) 二叉搜索树和双向链表
生活随笔
收集整理的這篇文章主要介紹了
二叉搜索时与双向链表python_剑指Offer(二十六) 二叉搜索树和双向链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。
思路以及解答
主要是使用遞歸,設置一個head和end,head只在第一次設置值,后面就是將end的right指向當前node,將當前node的left指向end,把end指向當前的node。
class?TreeNode?{????int?val?=?0;
????TreeNode?left?=?null;
????TreeNode?right?=?null;
????public?TreeNode(int?val)?{
????????this.val?=?val;
????}
}
public?class?Solution?{
????//?頭節點
????public?TreeNode?head?=?null;
????//?尾節點
????public?TreeNode?end?=?null;
????public?TreeNode?Convert(TreeNode?pRootOfTree)?{
????????invert(pRootOfTree);
????????return?head;
????}
????public?void?invert(TreeNode?node)?{
????????if?(node?==?null)?{
????????????return;
????????}
????????invert(node.left);
????????if?(end?==?null)?{
????????????head?=?node;
????????????end?=node;
????????}else{
????????????end.right?=?node;
????????????node.left?=?end;
????????????end?=node;
????????}
????????invert(node.right);
????}
}
此文章僅代表自己(本菜鳥)學習積累記錄,或者學習筆記,如有侵權,請聯系作者刪除。人無完人,文章也一樣,文筆稚嫩,在下不才,勿噴,如果有錯誤之處,還望指出,感激不盡~
技術之路不在一時,山高水長,縱使緩慢,馳而不息。
公眾號:秦懷雜貨店
【作者簡介】:
秦懷,公眾號【秦懷雜貨店】作者,技術之路不在一時,山高水長,縱使緩慢,馳而不息。這個世界希望一切都很快,更快,但是我希望自己能走好每一步,寫好每一篇文章,期待和你們一起交流。
此文章僅代表自己(本菜鳥)學習積累記錄,或者學習筆記,如有侵權,請聯系作者核實刪除。人無完人,文章也一樣,文筆稚嫩,在下不才,勿噴,如果有錯誤之處,還望指出,感激不盡~
總結
以上是生活随笔為你收集整理的二叉搜索时与双向链表python_剑指Offer(二十六) 二叉搜索树和双向链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ds哈希查找—二次探测再散列_大白话之哈
- 下一篇: mysql timestamp 并发_M