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

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

Leetcode 113. Path Sum II

2019-11-14 12:00:28
字體:
來源:轉載
供稿:網友

Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.

For example: Given the below binary tree and sum = 22,

5 / / 4 8 / / / 11 13 4 / / / / 7 2 5 1

return

[ [5,4,11,2], [5,8,4,5]]

s思路: 1. 和Leetcode 112. Path Sum相似。區別是要列舉所有的路徑!基本思路還是PReorder,但是需要一個vector< int>把每次遍歷的數放入或者彈出,當判斷path sum為所求,則把這個vector保存起來。

//方法1:recursive:class Solution {public: void helper(vector<vector<int>>&res,TreeNode* root,vector<int> cur,int sum) { // if(!root) return; cur.push_back(root->val);//中 if(!root->left&&!root->right){ if(root->val==sum)res.push_back(cur); return; } helper(res,root->left,cur,sum-root->val);//左 helper(res,root->right,cur,sum-root->val);//右 //cur.pop_back(); } vector<vector<int>> pathSum(TreeNode* root, int sum) { vector<vector<int>> res; //vector<int> cur; helper(res,root,{},sum); return res; }};//方法1:變形的做法.上面方法用vector<int> cur,這個方法用vector<int>&curclass Solution {public: void helper(vector<vector<int>>&res,TreeNode* root,vector<int>&cur,int sum) { // if(!root) return; cur.push_back(root->val);//中 if(!root->left&&!root->right){ if(root->val==sum)res.push_back(cur); //return; } helper(res,root->left,cur,sum-root->val);//左 helper(res,root->right,cur,sum-root->val);//右 cur.pop_back(); } vector<vector<int>> pathSum(TreeNode* root, int sum) { vector<vector<int>> res; vector<int> cur; helper(res,root,cur,sum); return res; }};//方法2:iterative.用stack,preorder,用cur和pre兩個指針。其實都是套路。class Solution {public: vector<vector<int>> pathSum(TreeNode* root, int sum) { stack<TreeNode*> ss; TreeNode* pnow=root,*pre=NULL; vector<vector<int>> res; vector<int> cur; int path=0; while(pnow||!ss.empty()){ while(pnow){ path+=pnow->val; cur.push_back(pnow->val); ss.push(pnow); pnow=pnow->left; } pnow=ss.top(); if(!pnow->left&&!pnow->right&&path==sum){ res.push_back(cur); } if(pnow->right&&pnow->right!=pre){ pnow=pnow->right; }else{ pre=pnow; path-=pnow->val; ss.pop(); cur.pop_back(); pnow=NULL; } } return res; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 7777视频| 亚洲白嫩在线观看 | 国产资源在线观看视频 | 国产91久久精品 | 国产成人精品网站 | 日日鲁一鲁视频 | 男女污视频在线观看 | 国产精品久久在线观看 | 亚洲日本韩国在线观看 | 国产精品九九久久一区hh | 毛片国产 | 日韩中文字幕三区 | 福利一区二区三区视频在线观看 | 国产成人精品一区二区视频免费 | cosplay裸体福利写真 | 欧美成人一区二区三区电影 | 黄色毛片免费视频 | 欧美成人精品不卡视频在线观看 | 色污视频在线观看 | 韩国精品一区二区三区四区五区 | 成人mm视频在线观看 | 日本欧美一区二区三区在线播 | 成人在线观看免费爱爱 | 国产一区二区成人在线 | 少妇一级淫片免费看 | 成人在线免费视频播放 | 黄色成人在线 | 久久艹一区 | 亚洲欧美不卡视频 | 国产精品久久久久久久久久久久午夜 | 万圣街在线观看免费完整版 | www.国产免费 | 色婷婷久久久久久 | 第四色成人网 | 色网站综合 | 国产一区二区免费在线观看视频 | 99视频网址| 久久久久久久久久性 | 天天看夜夜爽 | av手机在线电影 | 综合在线视频 |