[leetcode 257]Binary Tree Paths

Given a binary tree, return all root-to-leaf paths.

For example, given the following binary tree:

1 / \23 \ 5

All root-to-leaf paths are:

["1->2->5", "1->3"]深度优先遍历,返回每一条路径AC代码:class Solution{public:string intToString(int x){stringstream ss;ss<<x;string res;ss>>res;return res;}string dequeToString(deque<int> origin){deque<int>::iterator ite=origin.begin();string res=intToString(*ite);++ite;for(; ite!=origin.end(); ++ite){res+="->";res+=intToString(*ite);}return res;}void cal(TreeNode* root,vector<string> &res,deque<int> &temp){if(root->left==NULL&&root->right==NULL){temp.push_back(root->val);res.push_back(dequeToString(temp));temp.pop_back();return ;}temp.push_back(root->val);if(root->left)cal(root->left,res,temp);if(root->right)cal(root->right,res,temp);temp.pop_back();}vector<string> binaryTreePaths(TreeNode* root){vector<string> res;if(root==NULL)return res;deque<int> temp;cal(root,res,temp);return res;}};其他Leetcode题目AC代码:https://github.com/PoughER/leetcode

版权声明:本文为博主原创文章,未经博主允许不得转载。

,一个人去旅行,而且是去故乡的山水间徜徉。

[leetcode 257]Binary Tree Paths

相关文章:

你感兴趣的文章:

标签云: