LeetCode144 Binary Tree PreOrder Traversal Java题解(递归 迭代)

原创 2015年07月08日 16:18:46

题目:

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

For example:
Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3

return [1,2,3].

解题:

先序遍历二叉树  和我前面一篇中序遍历的思路差不多,就直接给代码吧


递归:

public static List<Integer> reslut=new ArrayList<>();
	public static  List<Integer> preorderTraversal(TreeNode root) {
		
		if(root!=null) 
		{
		reslut.add(root.val);
		preorderTraversal(root.left);
		preorderTraversal(root.right);
		}
		return reslut;
	        
	 }

迭代:

public static  List<Integer> preorderTraversal2(TreeNode root) {
		
	List<Integer> res=new ArrayList<>();
	Stack<TreeNode> nodeStack=new Stack<>();
	
	while(true)
	{
		while(root!=null)
		{
			res.add(root.val);
			nodeStack.push(root);
			root=root.left;
		}
		if(nodeStack.isEmpty()) break;
		
		TreeNode tempNode=nodeStack.pop();
		root=tempNode.right;
	}
	return res;
	        
	 }





LeetCode 144 Binary Tree Preorder Traversal(二叉树的前序遍历)+(二叉树、迭代)

翻译给定一个二叉树,返回其前序遍历的节点的值。例如: 给定二叉树为 {1,#, 2, 3} 1 \ 2 / 3 返回 [1, 2, 3]备注:用递归是微不足道的,...
  • NoMasp
  • NoMasp
  • 2016年03月19日 16:15
  • 2999

leetcode 144. Binary Tree Preorder Traversal-前序遍历|递归|非递归

原题链接:144. Binary Tree Preorder Traversal 【思路-Java】 用 stack 实现,也许有些读者对整个过程不是很熟悉,下面就以[1,2,3,4,5,null,6...

LeetCode题解-144-Binary Tree Preorder Traversal

尽管写LeetCode解答主要是为了自己整理思路,但是如果对您也正好有帮助,请点个赞给菜鸟一点鼓励吧 :-) 原题 解法概览 本题共有两种解法,1种递归,1种迭代。 前序遍历:...

LeetCode 144 — Binary Tree Preorder Traversal(C++ Java Python)

题目:http://oj.leetcode.com/problems/binary-tree-preorder-traversal/ Given a binary tree, return the p...

leetcode_144_Binary Tree Preorder Traversal

具体思路和中序遍历是一致的,只是访问结点的值的时机不同罢了,具体思路参见:http://blog.csdn.net/mnmlist/article/details/44312315...

LeetCode笔记:144. Binary Tree Preorder Traversal

用循环操作来前序遍历二叉树

[leetcode] 144.Binary Tree Preorder Traversal

题目: Given a binary tree, return the preorder traversal of its nodes’ values.For example: Given bin...

leetcode(144):Binary Tree Preorder Traversal

题目Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes’ v...

Leetcode 144 - Binary Tree Preorder Traversal(二叉树前序遍历)

题意求二叉树的前序遍历。 思路分为递归实现和利用栈模拟递归实现。 递归实现的代码和思路很简单就不详细说了。关键是我们如何利用栈非递归的去实现。 关键思路就是:对于当前节点,我们递归的去对它的左子...
  • Lzedo
  • Lzedo
  • 2017年03月12日 14:43
  • 112

Binary Tree Preorder Traversal leetcode144

Given a binary tree, return the preorder traversal of its nodes’ values.For example: Given binary t...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode144 Binary Tree PreOrder Traversal Java题解(递归 迭代)
举报原因:
原因补充:

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