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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LeetCode--Sum Root to Leaf Numbers

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode--Sum Root to Leaf Numbers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

1/ \2 3

The root-to-leaf path 1->2 represents the number 12.
The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.?

思路:類似于二叉樹的遍歷,遍歷的過過程中要記錄節點數據,并且轉化為sum(越接近葉子節點的節點的數值離各位最近,因為葉子節點是個位數,葉子節點的根節點是十位數。。。根root節點更高位),要標記已經計算過的節點(將值賦值為-1),葉子節點遍歷過回溯到根節點,繼續搜索。

#include<iostream> #include<stack> using namespace std; //二叉樹的定義 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; int sumNumbers(TreeNode* root) {TreeNode* p = root;if(p==NULL) return 0; //棧,搜索節點時,存儲節點 stack<TreeNode*> s;//根到每一個葉子節點的和 int sum = 0;//sum 之和 int result = 0;//最左下的節點(不一定是葉子) while(p!=NULL){s.push(p);sum = sum * 10 + p->val;p = p->left;}while(!s.empty()){p = s.top();//不是葉子節點,且沒遍歷過 if(p->right!=NULL&&p->right->val!=-1){p = p->right;s.push(p);sum = sum*10 + p->val;while(p->left!=NULL){p = p->left;s.push(p);sum = sum*10 + p->val;}}else if(p->left==NULL && p->right == NULL)//葉子節點 {result += sum;//回溯到該節點的根 s.pop();sum/=10;//標記 p->val = -1;}//不是葉子節點,且已遍歷過 else if((p->left==NULL&&p->right!=NULL&&p->right->val==-1)||(p->right==NULL&&p->left!=NULL&&p->left->val==-1)||(p->left!=NULL&&p->right!=NULL&&p->left->val==-1&&p->right->val==-1)){s.pop();sum/=10;//標記p->val = -1; }}return result; } int main(void) {TreeNode* root = new TreeNode(9);TreeNode* p2 = new TreeNode(2);TreeNode* p3 = new TreeNode(3);TreeNode* p4 = new TreeNode(4);TreeNode* p5 = new TreeNode(5);TreeNode* p6 = new TreeNode(6);TreeNode* p7 = new TreeNode(7);root->left = p2;root->right = p3;p2->left = p4;p2->right = p5;p3->left = p6;p3->right = p7;int a = sumNumbers(root);cout<<a<<endl;delete(root);delete(p2);delete(p3);delete(p4);delete(p5);delete(p6);delete(p7);system("pause");return 0; }
可以找一個比較“變態”的樹,走一遍程序,思路就會很清楚。

轉載于:https://www.cnblogs.com/sunp823/p/5601425.html

總結

以上是生活随笔為你收集整理的LeetCode--Sum Root to Leaf Numbers的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: jzjzjz欧美丰满少妇 | 日韩精品无码一区二区三区久久久 | 极品美女扒开粉嫩小泬 | 真人bbbbbbbbb毛片 | 蜜桃久久精品成人无码av | 国产在线观看中文字幕 | 亚洲一区二区在线 | 91黑丝在线观看 | 51妺嘿嘿午夜福利 | 一级做a爰片久久毛片 | 五月婷视频 | 四川一级毛毛片 | 欧美四级在线观看 | 亚洲一区二区三区电影 | 中国女人裸体乱淫 | 亚洲一线二线在线观看 | 亚洲精品在线播放视频 | 欧美呦呦| 影音先锋亚洲成aⅴ人在 | 一本一道久久a久久综合蜜桃 | www.久久综合 | 久久国产激情 | 免费av动漫 | 久久久精品人妻av一区二区三区 | 美女网站黄频 | 免费人成 | 情侣av| 伊人成人久久 | 国产综合免费视频 | 久久人人插 | kk视频在线观看 | 国产性猛交xxxⅹ交酡全过程 | 久久综合av | a无一区二区三区 | 老熟妇高潮一区二区高清视频 | 亚洲午夜一区二区三区 | 华丽的外出在线观看 | 在线观看国产免费视频 | 海角社区id | 日本午夜精品理论片a级app发布 | 精品成人免费一区二区在线播放 | av黄在线观看| 中文字幕一区二区三区乱码不卡 | 中韩毛片 | 精品国产乱码久久久久久久 | 亚洲狠狠干 | 欧美日韩精品一区二区三区蜜桃 | 欧美福利视频在线观看 | 有码一区 | 久久久久99精品成人片三人毛片 | 免费在线日韩av | 国产精品久久伊人 | 久久久久婷婷 | 国产女主播自拍 | 国产色拍 | 69视频一区 | 黑人极品videos精品欧美裸 | 97国产精品人人爽人人做 | 日韩av影视大全 | 国产男男gay体育生网站 | 美女18毛片 | 中出在线播放 | 国产欧美一区二区三区精华液好吗 | 国精品一区二区三区 | 欧美在线色 | 精品女同一区二区三区 | 国产精品99久久久久久一二区 | 国产明星换脸xxxx色视频 | 姐姐的秘密韩剧免费观看全集中文 | 97看片吧 | 日韩三级成人 | 欧美日皮视频 | 日本综合视频 | 奇米在线777 | 快色网站 | 亚洲黑丝在线 | 91免费网站 | 久久精品蜜桃 | 精品不卡一区二区三区 | 日本视频黄色 | 一级黄色大全 | 巨乳美女被爆操 | 国模私拍在线 | 欧美在线播放一区 | 久久久久麻豆v国产精华液好用吗 | 日韩色小说 | 精品国产伦一区二区三区免费 | 日韩精品视频观看 | 黑人巨大精品人妻一区二区 | 中文字幕第一页亚洲 | 波多野结衣mp4 | jizz欧美性23 | 日韩精品久久久久久免费 | 无码任你躁久久久久久久 | 一二三四国产精品 | 国产精品蜜 | 男女插插插视频 | 免费日本黄色网址 | 成人两性视频 |