• leetcode 94. 二叉树的中序遍历


    给定一个二叉树,返回它的中序 遍历。

    示例:

    输入: [1,null,2,3]
    1

    2
    /
    3

    输出: [1,3,2]

     1 //迭代算法
     2 class Solution {
     3     public List<Integer> inorderTraversal(TreeNode root) {
     4         List<Integer> list = new ArrayList<Integer>();
     5         if(root==null)return list;
     6         Stack<TreeNode> stack = new Stack<TreeNode>();
     7         stack.push(root);
     8         TreeNode cur = root.left;
     9         while(cur!=null||!stack.empty()){
    10             while(cur!=null){
    11                 stack.push(cur);
    12                 cur=cur.left;
    13             }
    14             TreeNode tmpnode = stack.pop();
    15             list.add(tmpnode.val);
    16             cur = tmpnode.right;
    17         }
    18         return list;
    19     }
    20 }
    21 
    22 
    23  //递归算法
    24 class Solution {
    25     public List<Integer> inorderTraversal(TreeNode root) {
    26         List<Integer> list = new ArrayList<Integer>();
    27         if(root==null)return list;
    28         inorder(root,list);
    29         return list;
    30     }
    31     public void inorder(TreeNode node,List<Integer> list){
    32         if(node.left!=null)inorder(node.left,list);
    33         list.add(node.val);
    34         if(node.right!=null)inorder(node.right,list);
    35     }
    36 }
  • 相关阅读:
    JSP第六次作业
    JSP第五次作业
    第二次软件测试作业
    JSP第四次作业(2)
    JSP第四次作业(1)
    JSP第七次作业
    JSP第六次作业
    session对象练习
    JSP第四次作业(2)
    JSP第四次作业(1)
  • 原文地址:https://www.cnblogs.com/gongzixiaobaibcy/p/11987296.html
Copyright © 2020-2023  润新知