二叉树的前序遍历144
Posted snail-gao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的前序遍历144相关的知识,希望对你有一定的参考价值。
给定一个二叉树,返回它的 前序 遍历。
示例:
输入: [1,null,2,3]
1
2
/
3
输出: [1,2,3]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
递归:
思路:
1.先序遍历,采用的是先根,再左,再右的方式
2.而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。
代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> res = new ArrayList();
preTree(root, res);
return res;
}
private void preTree(TreeNode root, List<Integer> res){
if(root == null) {
return;
}
res.add(root.val);
preTree(root.left, res);
preTree(root.right,res);
}
}
非递归:
思路:
代码:
以上是关于二叉树的前序遍历144的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第144题—二叉树的前序遍历—Python实现