257.binary-tree-paths

给定一个二叉树,返回所有从根节点到叶子节点的路径。

说明: 叶子节点是指没有子节点的节点。

示例:

输入:

257.binary-tree-paths

输出: [“1->2->5”, “1->3”]

解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3

解法

使用递归,前序遍历即可

class Solution {
		List<String> res = new ArrayList<>();

		public List<String> binaryTreePaths(TreeNode root) {

			walk(root, null);
			return res;
		}

		private void walk(TreeNode root, String path) {

			path = null == path ? root.val + "" : path + "->" + root.val;
			if (null == root.left && null == root.right) {
				res.add(path);
			}

			if (null != root.left) {
				walk(root.left, path);
			}

			if (null != root.right) {
				walk(root.right, path);
			}
		}
	}
上一篇:270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点


下一篇:【力扣96. 不同的二叉搜索树】卡特兰数(python3)