Binary Tree Preorder Traversal

1. 问题描述

Given a binary tree, return the preorder traversal of its nodes’ values.

For example: Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3

return [1,2,3].

2. 求解

这个题就是一个树的先序遍历问题,最简单的方案就是递归的遍历子树,要注意递归退出的条件。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> list = new ArrayList<Integer>();
        if(root == null) {
            return list;
        }
        list.add(root.val);
        List<Integer> left = preorderTraversal(root.left);
        List<Integer> right = preorderTraversal(root.right);
        list.addAll(left);
        list.addAll(right);
        return list;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

一个App卖了4亿美元,这家听声识曲公司为何得到Apple的青睐?

2018 年 9 月,苹果最终以 4 亿美金完成对 Shazam 公司的收购,让不少人为之振奋,在当时对外公布的一份声明中可以看到,自Shazam应用登陆App...

20540
来自专栏程序员的成长之路

记住:永远不要在 MySQL 中使用 UTF-8

最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:

13040
来自专栏Java架构筑基

面试中可能被问到的常用排序算法

排序算法是一种比较简单的算法,从我们一开始接触计算机编程开始接触的可能就是排序或者搜索一类的算法,但是因为排序在其他的一些算法中应用较多,所以为了提高性能已经研...

10100
来自专栏ATYUN订阅号

AI将为消费者隐私提供保护,而不是威胁。

人工智能的应用正在飞速发展。根据世界知识产权组织(WIPO)的数据,与人工智能相关的专利申请量在2013年至2017年间增加了近三倍,达到55000多件。专利活...

15080
来自专栏ATYUN订阅号

Cape Analytics以新商业产品驱动扩展AI物业智能解决方案

近日,Cape Analytics宣布将其市场领先的物业智能解决方案扩展到商用住宅物业上。这一扩张是基于Cape Analytics在美国拥有7,000万套单户...

19030
来自专栏ATYUN订阅号

研究者开发深度学习框架,训练机器人通过视频模仿人类动作

人类可以从视频中学习新技能,那么机器人呢?这是澳大利亚机器人视觉中心等研究人员想要解决的问题,在论文“V2CNet: A Deep Learning Frame...

10320
来自专栏ATYUN订阅号

K近邻算法KNN的简述

K近邻算法又称KNN,全称是K-Nearest Neighbors算法,它是数据挖掘和机器学习中常用的学习算法,也是机器学习中最简单的分类算法之一。KNN的使用...

16140
来自专栏AI研习社

干货 | 强化学习中,如何从稀疏和不明确的反馈中学习泛化

AI 科技评论按,强化学习(RL)为优化面向目标的行为提供了一个统一而灵活的框架,在解决诸如玩电子游戏、连续控制和机器人学习等具有挑战性的任务方面取得了显著的成...

13430
来自专栏挖数

一文教你用 Neo4j 快速构建明星关系图谱

本文将带你用 neo4j 快速实现一个明星关系图谱,因为拖延的缘故,正好赶上又一年的4月1日,于是将文中的几个例子顺势改成了“哥哥”张国荣。正所谓“巧妇难为无米...

17130
来自专栏ATYUN订阅号

深度学习词汇表(一)

对于刚开始学习深度学习的新人来说,深度学习术语掌握起来会非常困难。这篇深度学习词汇表包含了一些深度学习的常用术语,以帮助读者深入了解特定主题。

11620

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励