Leetcode 257. 二叉树的所有路径
题目
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明:
叶子节点是指没有子节点的节点。
示例:
输入:
1
/ \
2 3
\
5
输出: ["1->2->5", "1->3"]
解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
题解
dfs深搜,
先序遍历,详细过程见代码
代码
vector<string> ans;
void search(TreeNode* root,string& now){
if(root == NULL) return;
else if(root->left == NULL && root->right == NULL){ //叶节点,将路径放入答案中
now += to_string(root->val);
ans.push_back(now);
return;
}
now += to_string(root->val) + "->";
string oldStr = now;
search(root->left,now);
now = oldStr;
search(root->right,now);
}
vector<string> binaryTreePaths(TreeNode* root) {
if(root == NULL) return {};
string now;
search(root,now);
return ans;
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-paths
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。