给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
public List
<String> binaryTreePaths(TreeNode root
) {
return binaryTreePaths(root
, new StringBuilder(), new LinkedList<>());
}
private List
<String> binaryTreePaths
(TreeNode root
, StringBuilder sb
, List
<String> ans
) {
if (root
== null
) {
return ans
;
}
int value
= root
.val
;
if (sb
.length() != 0) {
sb
.append("->");
}
sb
.append(value
);
if (root
.left
== null
&& root
.right
== null
) {
ans
.add(sb
.toString());
return ans
;
}
ans
= binaryTreePaths(root
.left
, new StringBuilder(sb
), ans
);
ans
= binaryTreePaths(root
.right
, new StringBuilder(sb
), ans
);
return ans
;
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-60921.html