Binary Tree Paths
Given a binary tree, return all root-to-leaf paths.For example, given the following binary tree:
分析
深度搜索class Solution {public: vectorbinaryTreePaths(TreeNode* root) { vector ret; string str; dfs(ret, str, root); return ret; } void dfs(vector & ret, string& str, TreeNode* root){ if (!root) return; if (root && !root->left&&!root->right){ str+=to_string(root->val); ret.push_back(str); return; } string tmp = str; str += to_string(root->val)+"->"; if (root->left) dfs(ret, str, root->left); str = tmp; tmp = str; str += to_string(root->val) + "->"; if (root->right) dfs(ret, str, root->right); str=tmp; }};