LeetCode OJ --问题与解答 Binary Tree Preorder Traversal
来源:互联网 发布:什么加湿器好用 知乎 编辑:程序博客网 时间:2024/06/07 13:02
题目
Given a binary tree, return the preorder traversal of its nodes' values.
二叉树前序遍历。
1 基础的基础。递归和迭代写法都要回。
2 递归的时候,不要忘记函数内是两个参数。(不要和伪代码部分搞混)。
public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> ans = new ArrayList<Integer>(); useme(root,ans); return ans; } public void useme(TreeNode root , ArrayList<Integer> ans){ if(root ==null){ return ; } ans.add(root.val); useme(root.left,ans); useme(root.right,ans); }}
3 迭代的时候,使用stack。 java中 LinkedList 含有queue 和stack共同部分,所以以后都用 LinkedList 来使用。当做stack使用时,方法是push pop
4 前序的迭代相对简单。只需要stack之后,右边的先入栈即可。
public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> ans = new ArrayList<Integer>(); if(root==null){ return ans; } LinkedList<TreeNode> stack = new LinkedList<TreeNode>(); stack.push(root); while(!stack.isEmpty()){ TreeNode temp = stack.pop(); ans.add(temp.val); if(temp.right!=null){ stack.push(temp.right); } if(temp.left!=null){ stack.push(temp.left); } } return ans; }}
0 0
- LeetCode OJ --问题与解答 Binary Tree Preorder Traversal
- LeetCode OJ --问题与解答 Binary Tree Preorder Traversal
- LeetCode OJ --问题与解答 Binary Tree Inorder Traversal
- LeetCode OJ --问题与解答 Binary Tree Postorder Traversal
- LeetCode OJ:Binary Tree Preorder Traversal
- LeetCode OJ - Binary Tree Preorder Traversal
- [LeetCode OJ]Binary Tree Preorder Traversal
- LeetCode OJ Binary Tree Preorder Traversal
- [LeetCode OJ]144.Binary Tree Preorder Traversal
- LeetCode OJ:Construct Binary Tree from Preorder and Inorder Traversal
- leetcode OJ -Binary Tree Preorder Traversal(2014.1.20)
- [LeetCode OJ] Binary Tree Preorder Traversal 解题报告
- LeetCode OJ Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- Leetcode Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- 音频采集封装
- Hadoop学习笔记_安装篇之一:Hadoop安装
- ORA-600 [15160]已知的bug记录
- Struts2标签的使用
- vmware下面linux与windows的共享文件方式-samba
- LeetCode OJ --问题与解答 Binary Tree Preorder Traversal
- 通信原理
- C++游戏开发需要阅读的书籍
- 追谞罪钻咨宗资族诅卓姿综
- 选词的好坏直接影响着直通车的整体推广效果
- Linux定时器的使用
- Android:SDK r22.6 发布
- 《高效学习OpenGL》 之 多边形分格化 gluNewTess(),gluTessCallback(),gluTessProperty(),gluTessBeginPolygon()
- IBM HTTP Server 连接数调整