
题目:
- 给你一个二叉树的根节点
root,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。
示例:

- 输入: r o o t = [ 1 , 2 , 3 , n u l l , 5 ] root = [1,2,3,null,5] root=[1,2,3,null,5]
- 输出: [ " 1 − > 2 − > 5 " , " 1 − > 3 " ] ["1->2->5","1->3"] ["1−>2−>5","1−>3"]
解题思路一:(递归)
-
确定递归函数的参数和返回值:
传入当前节点、结果集、路径集,采用引用方式传递,无需返回值。
void dfs(TreeNode* cur, vector<string>& res, vector<int>& path) -
确定终止条件:
每遍历一个节点就先将其加入到路径集中,然后判断该节点左右孩子是否都为空,若都为空代表到达了叶子节点,进行相应处理与返回。
path.push_back(cur->val); if(cur->left == NULL && cur->right ==

最低0.47元/天 解锁文章
3449

被折叠的 条评论
为什么被折叠?



