今天和大家聊的问题叫做 二叉树的所有路径,我们先来看题面:https://leetcode-cn.com/problems/binary-tree-paths/
Given the root of a binary tree, return all root-to-leaf paths in any order.
A leaf is a node with no children.
给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。
解题
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List<String> binaryTreePaths(TreeNode root) { List<String> list = new LinkedList<>(); helper(root, "", list); return list; } private void helper(TreeNode root, String s, List<String>list){ if (root == null){ return; } s = s + root.val; if (root.left == null && root.right == null){ list.add(s); return; } if (root.left != null){ helper(root.left, s + "->", list); } if (root.right != null){ helper(root.right, s + "->", list); } } }
好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。