日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 97国产精品人人爽人人做 | 亚洲精品国产精品乱码不99 | 五十路av| 少妇一级淫片免费放2 | 亚洲精品午夜精品 | 成人爽a毛片一区二区 | 日本在线观看视频网站 | 亚洲大片精品 | 日日操夜夜摸 | 亚洲免费中文 | 精品人妻人人做人人爽夜夜爽 | 97人人爽人人爽人人爽人人爽 | 欧美大尺度做爰啪啪床戏明星 | 不卡一区二区在线观看 | 原来神马电影免费高清完整版动漫 | 中文字幕日韩三级片 | 98国产视频| 欧美一级片在线观看 | 在线观看av一区二区 | 国产又爽又黄的视频 | 理论视频在线观看 | 久久久久久天堂 | 一卡二卡国产 | 99r热| 国内精品亚洲 | 日韩中文字幕影院 | 日不卡 | 欧美一区日韩一区 | 久久66热这里只有精品 | 男女被到爽流尿 | 日日操网站 | 丰满人妻一区二区三区四区53 | 国产精品无码白浆高潮 | 污的视频在线观看 | 亚洲熟妇国产熟妇肥婆 | 中文字幕xxxx| 国产日韩欧美一区二区东京热 | 亚洲图片一区二区三区 | 欧美日韩色综合 | 韩国精品在线观看 | 国产又粗又猛又爽又黄又 | 欧美三级黄 | 亚洲 日本 欧美 中文幕 | 天天插夜夜 | 91玉足脚交嫩脚丫在线播放 | 久久久久久免费视频 | 日韩在线精品视频一区二区涩爱 | 色峰视频 | 三上悠亚 在线观看 | 日韩免费观看av | 黄色高清免费 | 青青草成人免费视频 | 欧美激情免费视频 | 日本久久精品视频 | 久久美女精品 | 99热欧美| 日本不卡一区在线 | 九九国产 | 精品黑人一区二区三区在线观看 | 在线爱情大片免费观看大全 | 特黄a级片 | 久久r精品| 日韩欧美高清在线观看 | 久久国色 | 久久人人澡 | 亚洲一本在线 | 视频在线观看免费大片 | 国产三级免费观看 | 久久无码精品丰满人妻 | 色播五月激情五月 | 乳女教师の诱惑julia | 关之琳三级全黄做爰在线观看 | 九一精品视频 | 婷婷网五月天 | 日韩99 | 国产又粗又长又大 | 久色成人| 国产精品久久9 | 污网站免费 | 天天操天天干天天操 | 激情在线观看视频 | 国产精品丝袜黑色高跟 | 影音先锋丝袜美腿 | 色眯眯影院 | 国产一区黄 | 99免费精品 | 欧美手机在线观看 | 国产精品色哟哟 | 黄色动漫在线免费观看 | 亲吻刺激视频 | 99re这里只有精品6 | 污污的视频在线免费观看 | 久久激情视频 | 欧美成人精品激情在线观看 | 男同志毛片特黄毛片 | 日韩成人高清视频在线观看 | 精品久久在线观看 | 香蕉视频国产在线观看 | 日本高清黄色电影 |