日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leetcode114二叉树转链表-树中修改

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leetcode114二叉树转链表-树中修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

給定一個二叉樹,原地將它展開為鏈表。

百度百科:在計算機科學中,一個原地算法(in-place algorithm)是一種使用小的,固定數量的額外之空間來轉換資料的算法。當算法執行時,輸入的資料通常會被要輸出的部份覆蓋掉。不是原地算法有時候稱為非原地(not-in-place)或不得其所(out-of-place)。

例如,給定二叉樹

1/ \2 5/ \ \ 3 4 6

將其展開為:

1\2\3\4\5\6

思路

這里使用前序遍歷:根節點-左子樹-右子樹。
左子樹轉化為鏈表,需要該鏈表的尾部指針,連接右子樹(的鏈表)的頭部指針。
同樣右子樹轉化為鏈表,也需要尾部指針,因為存在葉節點是右孩子的情況,需要連接到另外的節點。比如下圖中的7,對于前序遍歷 ,7需要連接到4.

1/ \2 5/ \ \3 4 6\7

二叉樹就地變成鏈表,需要node->left=NULL;node->right指向下一節點。

遞歸的思想,我們考慮任意節點的遞歸具體實現。
對于任何一個節點,如果沒有左子樹和右子樹,則鏈表尾部是該結點指針。
如果存在左子樹,和右子樹需要考慮遞歸遍歷,同時傳出該子樹的尾部指針。
leetcode代碼

/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:void flatten(TreeNode* root){TreeNode *last=NULL;preorder(root,last);//先序遍歷最后的一個節點,傳引用出來 } private:void preorder(TreeNode* node,TreeNode* &last){if(!node)return;if(!node->left&&!node->right)//遞歸返回的條件 {//葉節點 last=node;return;}TreeNode*left=node->left;TreeNode* right=node->right;TreeNode* left_last=NULL;//左子樹構成的鏈表尾部指針TreeNode* right_last=NULL;//右子樹構成的鏈表尾部指針if(left)//如果存在左子樹{preorder(left,left_last);//node->left=NULL;node->right=left;//轉化為鏈表last=left_last;//左子樹鏈表的最后的指針 } if(right)//如果存在右子樹{preorder(right,right_last);if(left_last)//當前節點的左子樹最后的指針存在 {left_last->right=right;//串聯左右子樹 } last=right_last;//右子樹的最后的指針 } } };

測試代碼

#include<iostream>#include<vector>using namespace std;struct TreeNode{int val;TreeNode* left;TreeNode* right;TreeNode(int x):val(x),left(NULL),right(NULL){} };class solution{public:void flatten(TreeNode* root){TreeNode *last=NULL;preorder(root,last);//先序遍歷最后的一個節點,傳引用出來 }private:void preorder(TreeNode* node,TreeNode* &last){if(!node)return;if(!node->left&&!node->right)//遞歸返回的條件 {//葉節點 last=node;return;}TreeNode*left=node->left;TreeNode* right=node->right;TreeNode* left_last=NULL;TreeNode* right_last=NULL;if(left)//如果存在左子樹{preorder(left,left_last);//node->left=NULL;node->right=left;//轉化為鏈表last=left_last;//左子樹鏈表的最后的指針 } if(right)//如果存在右子樹{preorder(right,right_last);if(left_last)//當前節點的左子樹最后的指針存在 {left_last->right=right;//串聯左右子樹 } last=right_last;//右子樹的最后的指針 } } };int main(){//構造樹TreeNode a(1);TreeNode b(2);TreeNode c(5);TreeNode d(3);TreeNode e(4);TreeNode f(6);a.left=&b;a.right=&c;c.right=&f;b.left=&d;b.right=&e;solution solve;solve.flatten(&a);//TreeNode* head=&a;//當作鏈表來處理 while(head){if(head->left)//如果存在左指針,則說明轉化錯誤cout<<"wrong"<<endl;cout<<"["<<head->val<<"]";head=head->right;//右移}cout<<endl;return 0;}

測試結果


題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list

總結

以上是生活随笔為你收集整理的Leetcode114二叉树转链表-树中修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产探花精品在线 | 极品色av| 伊人精品国产 | 成人免费视频国产免费麻豆 | 69影院少妇在线观看 | 99久久精品一区二区成人 | 又黄又爽视频在线观看 | 久久国产精品无码网站 | 想要视频在线观看 | 欧美三级小说 | 亚洲毛片一区 | 狠狠躁18三区二区一区 | 好吊色欧美一区二区三区视频 | 免费在线观看av网址 | 欧美日韩国产在线播放 | 灌满闺乖女h高h调教尿h | 亚洲一级一级 | 欧美999| 三级网站在线免费观看 | 理论片中文 | 91国偷自产一区二区三区女王 | 国产在线视频福利 | 女女高潮h冰块play失禁百合 | 色干网 | 亚洲无打码 | 色偷偷噜噜噜亚洲男人 | 日批在线观看 | 黄色美女毛片 | 午夜精品在线播放 | 偷操 | 天天爽一爽 | 亚洲成人www | 操女人的逼逼 | 日日干狠狠干 | 手机av免费 | 国产精品一区二区视频 | 超碰caoporen| 亚洲国内精品 | 国产精品毛片一区二区在线看 | 日本欧美亚洲 | 国产精品一区二区麻豆 | 黑人借宿巨大中文字幕 | 少妇人妻丰满做爰xxx | 色福利网 | 免费www xxx| 免费在线一级片 | 欧美日本色 | 国产精品jizz在线观看美国 | 一区二区三区久久精品 | 午夜鲁鲁| 日韩成人午夜影院 | 青青青视频免费 | 暖暖日本在线视频 | 欧美 日韩 国产 成人 在线 | 中文字幕无码人妻少妇免费 | 精品国产乱码久久久久久108 | 亚洲一区中文字幕在线观看 | 外国黄色网址 | 国产成人愉拍精品久久 | 亚洲精品aaaa | 久久久久久久久国产 | 久久免费网 | 狠狠做深爱婷婷久久综合一区 | 91叼嘿视频| 日韩三级不卡 | 三级黄色小视频 | 在线观看国产一级片 | 国产一区二区三区久久 | 精品91自产拍在线观看二区 | 岛国精品视频 | 99爱在线观看 | 国产精品自拍一区 | 激情开心网站 | 色综合免费 | 国产综合视频一区 | 久久禁 | 亚洲欧美91 | 黄色动漫在线观看 | 裸体一区二区三区 | 色天天综合 | 免费无码国产精品 | 国产视频123 | 欧美韩日精品 | 国产女人叫床高潮大片免费 | 欧美激情欧美激情在线五月 | 91视频免费在线观看 | www.亚洲视频 | 日韩精品一区在线播放 | 色哟哟在线观看 | 在线看黄网站 | 欧美日韩亚洲一区二区三区 | 在线观看黄色小视频 | 午夜窝窝| 亚洲一卡二卡在线 | 欧美成人精品一区二区综合免费 | 国产精品99久久久久久动医院 | 天堂网久久 | 国产一级久久久久毛片精品 | 亚洲国产福利 |