博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode/LintCode] Binary Tree Paths
阅读量:6759 次
发布时间:2019-06-26

本文共 1468 字,大约阅读时间需要 4 分钟。

Problem

Given a binary tree, return all root-to-leaf paths.

Example

Given the following binary tree:

1 /   \2     3 \  5

All root-to-leaf paths are:

[  "1->2->5",  "1->3"]

Solution

public class Solution {    public List
binaryTreePaths(TreeNode root) { // Write your code here List
res = new ArrayList
(); if (root == null) { return res; } findpaths(root, res, root.val + "");//这里+""巧妙地调用了String return res; } public void findpaths(TreeNode root, List
res, String cur) { if (root.left != null) { findpaths(root.left, res, cur + "->" + root.left.val); } if (root.right != null) { findpaths(root.right, res, cur + "->" + root.right.val); } if (root.left == null && root.right == null) { res.add(cur); return; } }}

###Update 2018-9

class Solution {    public List
binaryTreePaths(TreeNode root) { List
res = new ArrayList<>(); if (root == null) return res; dfs(root, "", res); return res; } private void dfs(TreeNode root, String str, List
res) { if (root.left == null && root.right == null) res.add(str+root.val); if (root.left != null) dfs(root.left, str+root.val+"->", res); if (root.right != null) dfs(root.right, str+root.val+"->", res); }}

转载地址:http://crbeo.baihongyu.com/

你可能感兴趣的文章
Redis
查看>>
XINS 3.0 正式版发布,远程 API 调用规范
查看>>
sqlserver 2005 64bit express
查看>>
(转)Oracle中For和while及一些应用
查看>>
jQuery基础及选择器
查看>>
DragonFly BSD 3.2 发布
查看>>
Mozilla 发布 Popcorn Maker,在线创作视频
查看>>
C#中为什么需要装箱拆箱操作?
查看>>
PHP类中一般方法与静态方法的疑问
查看>>
[转]PHP花括号变量
查看>>
【Opencv学习】摄像头采集、录像、截图小工具
查看>>
Fedora16安装中文语言包和中文输入法
查看>>
Windows 8实用窍门系列:14.windows 8中粘贴板(剪切板)的使用
查看>>
长连接API小心“窜包”问题
查看>>
开发者基础知识游戏,共10关,欢迎挑战
查看>>
ASP.NET中 RadioButtonList(单选按钮组)的使用
查看>>
SESSION 丢失
查看>>
DES可逆加解密
查看>>
图解Undo原理
查看>>
Kinect for Windows SDK V1.7 发布
查看>>