后端开发刷题 | 二叉树的前序遍历

描述

给你二叉树的根节点 root ,返回它节点值的 前序遍历。

数据范围:二叉树的节点数量满足 1≤n≤100 ,二叉树节点的值满足 1≤val≤100,树的各节点的值各不相同

示例 1:

示例1

输入:

复制代码
{1,#,2,3}

返回值:

复制代码
[1,2,3]

思路分析:

该题可以用递归来解决,前序遍历的顺序是根左右

代码:

java 复制代码
import java.util.*;

public class Solution {
    List<Integer> list=new ArrayList<>();

    List<Integer> preOrder(TreeNode node){
        if(node==null){
            return list;
        }
        //前序遍历:根左右
        list.add(node.val);
        preOrder(node.left);
        preOrder(node.right);
        return list;
    }

    /**
     * 
     * @param root TreeNode类 
     * @return int整型一维数组
     */
    public int[] preorderTraversal (TreeNode root) {
        // write code here
        list=preOrder(root);
        int[] res=new int[list.size()];
        for(int i=0;i<list.size();i++){
            res[i]=list.get(i);
        }
        return res;

    }
}
相关推荐
人道领域3 分钟前
从零实现一个轻量级 RPC 框架:通信协议与动态代理的核心原理
开发语言·网络·qt
阿Y加油吧3 分钟前
二刷 LeetCode:118. 杨辉三角 & 198. 打家劫舍 复盘笔记
笔记·算法·leetcode
jiushiapwojdap5 分钟前
Matlab GUI 界面设计:从入门到实战
开发语言·其他·matlab
深邃-7 分钟前
【数据结构与算法】-二叉树(1):树的概念与结构,二叉树的概念与结构
数据结构·算法·链表·二叉树··顺序表
lsx20240610 分钟前
Go 语言范围(Range)
开发语言
初心未改HD11 分钟前
Go语言同步原语Mutex、WaitGroup、Once深度解析
开发语言·golang
风筝在晴天搁浅14 分钟前
手撕归并排序
数据结构·算法·排序算法
qeen8716 分钟前
【数据结构】二叉树基本概念及堆的C语言模拟实现
c语言·数据结构·c++·
lynnlovemin17 分钟前
C++高精度加减乘除算法详解
开发语言·c++·算法·高精度
原来是猿19 分钟前
算法中 cin/cout 超时?聊聊它与 printf/scanf 的性能差异
算法