麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Leetcode 129. Sum Root to Leaf Numbers

2019-11-14 09:04:43
字體:
來源:轉載
供稿:網友

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.

s思路: 1. 樹的問題,根本就是遍歷。這道題一看肯定不能用bfs,因為要找到從root到leaf的數就需要dfs來找,遍歷順序是首先根,再左,后右,故:pre-order. 2. 要求和,則需要一個變量來表示這個最后的和;同時還需要一個變量表示目前從root到leaf的數。

//方法1:recursive來做,簡單。class Solution {public: void helper(TreeNode* root,int cur,int&sum){ if(!root) return; cur=cur*10+root->val;//根 if(!root->left&&!root->right){ sum+=cur; return; } helper(root->left,cur,sum);//左 helper(root->right,cur,sum);//右 } int sumNumbers(TreeNode* root) { // int sum=0; helper(root,0,sum); return sum; }};//方法2:iterative:pre-order,stack,兩個指針pre,pnow.class Solution {public: int sumNumbers(TreeNode* root) { stack<TreeNode*> ss; TreeNode* pnow=root,*pre=NULL; int sum=0,cur=0; while(pnow||!ss.empty()){ while(pnow){ cur=cur*10+pnow->val; ss.push(pnow); pnow=pnow->left; } pnow=ss.top(); if(!pnow->left&&!pnow->right) sum+=cur; if(pnow->right&&pnow->right!=pre){ pnow=pnow->right; }else{ pre=pnow; cur/=10; pnow=NULL; ss.pop(); } } return sum; }};
上一篇:ChucK初步(4)

下一篇:HashMap和HashTable

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频在线色 | 欧美日韩在线视频一区 | 九九午夜 | 午夜视频导航 | 亚洲午夜一区二区三区 | 亚洲国产午夜精品 | 国产精品久久久久网站 | 久久精品一二三区白丝高潮 | 日韩视频―中文字幕 | 国产羞羞网站 | 九九热精品在线播放 | 视频久久免费 | 亚洲黑人在线观看 | 黄网站免费观看视频 | 久久色网站 | 成人做爰s片免费看网站 | 一级毛片电影院 | 99re热精品视频 | www.com超碰 | 黄色a级片免费观看 | 羞羞视频免费视频欧美 | 欧美精品久久久久久久久久 | 羞羞视频免费网站男男 | 欧美国产一级片 | 99热99精品 | 久草在线视频精品 | 国产免费高清在线视频 | 欧美一级电影网站 | 国产精品视频一区二区三区四 | 日韩黄a | 成人艳情一二三区 | 欧美三级短视频 | 国产精品久久久久久久久久10秀 | 国产三级午夜理伦三级 | 久久性生活免费视频 | 99精品国产在热久久婷婷 | 毛片在线播放视频 | 国产亚洲精品久久久久久久久 | 欧美中文字幕一区二区三区亚洲 | 日韩精品中文字幕一区二区三区 | 国内久久久久 |