力扣小白刷题之257题二叉树的所有路径
题目描述
给定一个二叉树,返回从根节点到叶子节点的所有路径。
思路
参考了:https://leetcode-cn.com/problems/binary-tree-paths/solution/257java-liang-chong-hui-su-de-fang-shi-dfs-by-ustc/
回溯在于,走到一个叶子节点,要查找别的路径时,要先回退到根节点。
递归结构是:当前节点添加到路径中,然后分别走左右子树(顺序任意)。
利用List集合来存放路径信息,回溯时删除最后一个元素即可。
当递归到叶子节点时,就通过buildPath()函数将元素依次取出构造成符合要求的路径字符串,然后放入结果集中。
代码
注意
- List集合的remove()方法
- 时间和空间复杂度
- 多练习代码书写