Leetcode Binary Tree Preorder Traversal 二叉树先序遍历
来源:互联网 发布:kali linux下载 编辑:程序博客网 时间:2024/05/19 17:56
题目:
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]
.
Note: Recursive solution is trivial, could you do it iteratively?
分析:
二叉树的先序遍历顺序为中左右。非递归时,根节点首先进行访问,这时需要记录它的左右孩子情况,而左孩子先访问,因此用一个栈来记录右孩子,先把右孩子压入栈,然后再压入左孩子。
Java代码实现:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); if(root==null) return result; Stack<TreeNode> s = new Stack<TreeNode>(); s.push(root); while(!s.isEmpty()) { TreeNode node = s.pop(); result.add(node.val); if(node.right!=null) s.push(node.right); if(node.left!=null) s.push(node.left); } return result; }}
0 0
- LeetCode Binary Tree Preorder Traversal (二叉树先序遍历非递归)
- Leetcode Binary Tree Preorder Traversal 二叉树先序遍历
- 144.leetcode Binary Tree Preorder Traversal(medium)[二叉树先序遍历]
- [leetcode-二叉树先序遍历]--144.Binary Tree Preorder Traversal
- 【二叉树先序遍历】Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal(二叉树前序遍历)
- LeetCode 144 Binary Tree Preorder Traversal(二叉树前序遍历)
- [LeetCode]144. Binary Tree Preorder Traversal--二叉树前序遍历
- leetcode 144. Binary Tree Preorder Traversal 二叉树前序遍历 + DFS
- 144.Binary Tree Preorder Traversal(二叉树先序遍历)
- LeetCode144——Binary Tree Preorder Traversal二叉树先序遍历
- 二叉树先序遍历——144. Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal 二叉树先序遍历的非递归实现
- leetcode---binary-tree-preorder-traversal---树前序遍历
- LeetCode Binary Tree Preorder Traversal 前序遍历二叉树 递归和非递归解法
- 【leetcode】非递归先序遍历二叉树(Binary Tree Preorder Traversal)
- 【LeetCode】Binary Tree Preorder Traversal 二叉树前序遍历递归以及非递归算法
- LeetCode OJ 之 Binary Tree Preorder Traversal (二叉树的前序遍历)
- 文本框输入为空时显示的内容
- DiretX开发启动
- 【Github教程】史上最全github使用方法:github入门到精通
- java spring配置文件的头dtd
- 【iOS】真机调试问题总结 错误集合
- Leetcode Binary Tree Preorder Traversal 二叉树先序遍历
- Android platform build guide for Exynos-4412(odroid -X/X2/U2/U3/Q2/Q)
- UIColor,CGColor,CIColor三者的区别和联系
- 重构方法之对象之间搬移特性
- 2.1.14 TrappingRainWater
- 求Fibonacci数列的第n项
- listview的adapter中的一些问题
- [shellcode学习] 绕过条件判断
- leetcode 日经贴,Cpp code -Sudoku Solver