Leetcode94. Binary Tree Inorder Traversal

原创 2017年01月03日 14:04:46

原题

Given a binary tree, return the inorder traversal of its nodes' values.

For example:
Given binary tree [1,null,2,3],
   1
    \
     2
    /
   3
return [1,3,2]

题意
中序遍历,将结果返回到list集合中
思路
采用栈的方式,遍历到的节点放在栈里面,直至为空时,再将节点从栈中抛出,遍历其节点的右节点。
代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
 /**
  * 定义ArrayList,栈和节点,采用中序遍历,
  * */
public class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        ArrayList<Integer>list=new ArrayList<Integer>();
        if(root==null)return list;
        Stack<TreeNode>stack=new Stack<TreeNode>();
        TreeNode p=root;
        while(!stack.empty()||p!=null){
            if(p!=null){
                //将节点存在栈中,回头从栈中取出来,再得到该节点的右节点
                stack.push(p);
                p=p.left;
            }
            else{
                TreeNode t=stack.pop();
                list.add(t.val);
                p=t.right;
            }
        }
        return list;
    }
}

原题链接

版权声明:本文为博主原创文章,未经博主允许不得转载。

Binary Tree Inorder Traversal -- LeetCode

原题链接: http://oj.leetcode.com/problems/binary-tree-inorder-traversal/  通常,实现二叉树的遍历有两个常用的方法:一是用递归,二是使用...
  • linhuanmars
  • linhuanmars
  • 2014年03月01日 05:38
  • 16756

【LeetCode】94. Binary Tree Inorder Traversal 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280Subject 出处:https://leetcode.com/pro...
  • crazy1235
  • crazy1235
  • 2016年05月22日 23:59
  • 8073

LeetCode 94 Binary Tree Inorder Traversal(Python详解及实现)

【题目】 Given a binary tree, return the inordertraversal of its nodes' values.   For example: Given bin...
  • yangjingjing9
  • yangjingjing9
  • 2017年08月10日 16:10
  • 197

【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280Subject 出处:https://leetcode.com/pro...
  • crazy1235
  • crazy1235
  • 2016年06月01日 23:42
  • 5860

106 Construct Binary Tree from Inorder and Postorder Traversal

题目链接:https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/题目:Giv...
  • ChilseaSai
  • ChilseaSai
  • 2015年12月09日 20:29
  • 864

【LeetCode】【Python】Binary Tree Inorder Traversal

Given a binary tree, return the inorder traversal of its nodes' values. For example: Given bin...
  • u011613729
  • u011613729
  • 2014年07月25日 09:34
  • 2454

LeetCode 105:Construct Binary Tree from Preorder and Inorder Traversal

LeetCode 105: Given preorder and inorder traversal of a tree, construct the binary tree. 给定一个二叉树的...
  • sunao2002002
  • sunao2002002
  • 2015年05月20日 23:09
  • 1038

【LeetCode-面试算法经典-Java实现】【106-Construct Binary Tree from Inorder and Postorder Traversal(构造二叉树II)】

【106-Construct Binary Tree from Inorder and Postorder Traversal(通过中序和后序遍历构造二叉树II)】【LeetCode-面试算法经典-J...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月09日 06:39
  • 2193

Binary Tree Traversal二叉树遍历方法总结

Binary Tree Traversal二叉树遍历方法总结这里总结的二叉树遍历分为两大类: 深度优先(depth-first traversal) 广度优先(breadth-first traver...
  • jackey_jk
  • jackey_jk
  • 2016年04月01日 02:58
  • 875

C++详解Leetcode:105. Construct Binary Tree from Preorder and Inorder Traversal

原题思路通过二叉树的前序遍历和中序遍历来构建二叉树,通过递归可以很容易的解决这个问题,在遇到二叉树的问题,应该习惯先画图再来解决code/** * Definition for a binary t...
  • u014265347
  • u014265347
  • 2017年07月30日 17:34
  • 303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Leetcode94. Binary Tree Inorder Traversal
举报原因:
原因补充:

(最多只允许输入30个字)