前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode-144. 二叉树的前序遍历

leetcode-144. 二叉树的前序遍历

作者头像
灰太狼学Java
发布2022-06-17 11:05:24
1690
发布2022-06-17 11:05:24
举报
文章被收录于专栏:Java学习驿站

JAVA解法

代码语言:javascript
复制
/**
 * 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<Integer>();
        // 从根节点开始递归
        preorder(root, res);
        // 返回结果集
        return res;
    }
    // 前序遍历
    public void preorder(TreeNode root, List<Integer> res) {
        // 判空
        if (root == null) {
            return;
        }
        // 将 root 节点的值加入结果集
        res.add(root.val);
        // 从左子树开始遍历
        preorder(root.left, res);
        // 右子树遍历
        preorder(root.right, res);
    }
}

题解分析

这道题是树的前序遍历,就是以先遍历左子树再遍历右子树的方式遍历整棵树,使用递归思路简单清晰。

leetcode原题:144. 二叉树的前序遍历

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA解法
  • 题解分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档