LintCode第68题-二叉树的前序遍历,第67题-二叉树的后序遍历

第66题:

描述

给出一棵二叉树,返回其节点值的前序遍历

  • 首个数据为根节点,后面接着是其左儿子和右儿子节点值,"#"表示不存在该子节点。

  • 节点数量不超过20

  • 样例 1:

    输入:

    复制代码
    二叉树 = {1,2,3}

    输出:

    复制代码
    [1,2,3]

    解释:

    复制代码
          1
        /   \
      2       3

    它将被序列化为{1,2,3}前序遍历

    样例 2:

    输入:

    复制代码
    二叉树 = {1,#,2,3}

    输出:

    复制代码
    [1,2,3]

    解释:

    复制代码
         1
           \
            2
           /
          3

    它将被序列化为{1,#,2,3}前序遍历

代码如下:

/**

* Definition of TreeNode:

* public class TreeNode {

* public int val;

* public TreeNode left, right;

* public TreeNode(int val) {

* this.val = val;

* this.left = this.right = null;

* }

* }

*/

public class Solution {

/**

* @param root: A Tree

* @return: Preorder in ArrayList which contains node values.

*/

List<Integer> preOrderList=new ArrayList<>();

public List<Integer> preorderTraversal(TreeNode root) {

// write your code here

if(root==null)

{

return new ArrayList<>();

}

preOrderList.add(root.val);

preorderTraversal(root.left);

preorderTraversal(root.right);

return preOrderList;

}

}

第68题:

描述

给出一棵二叉树,返回其节点值的后序遍历

  • 首个数据为根节点,后面接着是其左儿子和右儿子节点值,"#"表示不存在该子节点。
  • 节点数量不超过20

样例 1:

输入:

复制代码
复制代码
二叉树 = {1,2,3}

输出:

复制代码
复制代码
[2,3,1]

解释:

复制代码
复制代码
      1
    /   \
  2       3

它将被序列化为{1,2,3}之后进行后序遍历

样例 2:

输入:

复制代码
二叉树 = {1,#,2,3}

输出:

复制代码
[3,2,1]

解释:

复制代码
     1
       \
        2
       /
      3

它将被序列化为{1,#,2,3}之后进行后序遍历

代码如下:

/**

* Definition of TreeNode:

* public class TreeNode {

* public int val;

* public TreeNode left, right;

* public TreeNode(int val) {

* this.val = val;

* this.left = this.right = null;

* }

* }

*/

public class Solution {

/**

* @param root: A Tree

* @return: Postorder in ArrayList which contains node values.

*/

List<Integer> postOrderList=new ArrayList<>();

public List<Integer> postorderTraversal(TreeNode root) {

// write your code here

if(root==null)

{

return new ArrayList<>();

}

postorderTraversal(root.left);

postorderTraversal(root.right);

postOrderList.add(root.val);

return postOrderList;

}

}

相关推荐
Miraitowa_cheems18 分钟前
LeetCode算法日记 - Day 88: 环绕字符串中唯一的子字符串
java·数据结构·算法·leetcode·深度优先·动态规划
B站_计算机毕业设计之家1 小时前
python电商商品评论数据分析可视化系统 爬虫 数据采集 Flask框架 NLP情感分析 LDA主题分析 Bayes评论分类(源码) ✅
大数据·hadoop·爬虫·python·算法·数据分析·1024程序员节
小白菜又菜2 小时前
Leetcode 1518. Water Bottles
算法·leetcode·职场和发展
长存祈月心2 小时前
Rust Option 与 Result深度解析
算法
杭州杭州杭州2 小时前
机器学习(3)---线性算法,决策树,神经网络,支持向量机
算法·决策树·机器学习
不语n4 小时前
快速排序(Quick Sort)详解与图解
数据结构·算法·排序算法·快速排序·双指针排序
三萬Q4 小时前
数据结构--并查集
数据结构
桦说编程4 小时前
如何在Java中实现支持随机访问的固定窗口队列
java·数据结构·后端
电鱼智能的电小鱼4 小时前
基于电鱼 ARM 工控机的AI视频智能分析方案:让传统监控变得更聪明
网络·arm开发·人工智能·嵌入式硬件·算法·音视频