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;

}

}

相关推荐
Z1Jxxx16 小时前
反序数反序数
数据结构·c++·算法
副露のmagic16 小时前
更弱智的算法学习 day25
python·学习·算法
求梦82016 小时前
【力扣hot100题】移动零(1)
算法·leetcode·职场和发展
NAGNIP16 小时前
机器学习中的数据预处理方法大全!
算法·面试
涛涛北京16 小时前
Soft-Actor-Critic算法-连续环境
算法
vyuvyucd16 小时前
C++排序算法全解析
java·数据结构·算法
胡萝卜不甜16 小时前
算法宗门---迪杰斯特拉Dijkstra(最短路径算法)
算法
练习时长一年16 小时前
LeetCode热题100(爬楼梯)
算法·leetcode·职场和发展
ohoy16 小时前
RedisTemplate 使用之List
数据结构·windows·list
朔北之忘 Clancy16 小时前
2020 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解