leetcode:144. Binary Tree Preorder Traversal

原创 2016年03月19日 22:09:45

转载请注明出处:z_zhaojun的博客
原文地址
题目地址
Binary Tree Preorder Traversal

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

For example:
Given binary tree {1,#,2,3},
return [1,2,3].

思路:优先添加遍历左子树,在遍历的同时判断当前节点的右子树是否为空,如果不为空则添加到nodeList(类似栈,实现先进后出,最晚add的最先remove)中,当左子树遍历完毕后,再通过nodeList进行右子树的遍历。
实现代码(Java):

public class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> valList = new ArrayList<>();
        List<TreeNode> nodeList = new ArrayList<>();
        while (root != null) {
            valList.add(root.val);
            if (root.right != null) {
                nodeList.add(root.right);
            }
            if (root.left != null) {
                root = root.left;
            } else {
                if (nodeList.size() > 0) {
                    root = nodeList.get(nodeList.size() - 1);
                    nodeList.remove(nodeList.size() - 1);
                } else {
                    break;
                }
            }
        }
        return valList;
    }
}
版权声明:本文为博主原创文章,转载请注明出处。博客首页:http://blog.csdn.net/u012975705。订阅:http://blog.csdn.net/u012975705/rss/list

LeetCode 144: Binary Tree Preorder Traversal

Given a binary tree, return the preorder traversal of its nodes’ values.For example: Given binary t...
  • sunao2002002
  • sunao2002002
  • 2015年06月01日 19:02
  • 654

LeetCode(144)Binary Tree Preorder Traversal

题目如下: Given a binary tree, return the preorder traversal of its nodes' values. For example: Given bi...
  • feliciafay
  • feliciafay
  • 2014年01月15日 06:29
  • 1661

LeetCode P144 Binary Tree Preorder Traversal

Given a binary tree, return the preorder traversal of its nodes’ values. For example: Given bina...
  • greyfreedom
  • greyfreedom
  • 2015年12月09日 19:51
  • 197

【LeetCode】144 . Binary Tree Preorder Traversal 解题报告

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

LeetCode144 Binary Tree Preorder Traversal(迭代实现) Java

题目: Given a binary tree, return the preorder traversal of its nodes’ values.For example: Given bin...
  • l294265421
  • l294265421
  • 2016年04月23日 13:14
  • 1537

Leetcode 144

Given a binary tree, return the preorder traversal of its nodes' values. For example: Given bina...
  • xm1991happy
  • xm1991happy
  • 2016年06月21日 15:04
  • 53

编写leetcode测试用例时所用的辅助函数

在做leetcode题目(https://oj.leetcode.com/problemset/algorithms/)的时候,我们总要自己写测试用例,常常要生成vector, list, tree,...
  • AAA20090987
  • AAA20090987
  • 2015年01月31日 17:10
  • 1837

Leetcode-Symmetric Tree——判断二叉树是否对称

题目 Symmetric Tree  Total Accepted: 12814 Total Submissions: 40358My Submissions Given a bina...
  • disappearedgod
  • disappearedgod
  • 2014年04月20日 01:00
  • 2052

LeetCode之Tree题目汇总

Balanced Binary TreeGiven a binary tree, determine if it is height-balanced.For this problem, a heig...
  • Yano_nankai
  • Yano_nankai
  • 2015年12月29日 20:43
  • 688

Leetcode Symmetric Tree 递归和非递归解法

和same tree题目差不多一样的解法。 1 recursively 递归法: 2 iteratively 非递归: 使用先序遍历,原来树的先序遍历的非递归写法也不简单。...
  • kenden23
  • kenden23
  • 2014年02月16日 01:11
  • 14303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode:144. Binary Tree Preorder Traversal
举报原因:
原因补充:

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