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

LeetCode126|二叉树的后续遍历

作者头像
码农王同学
发布2020-10-27 18:17:25
1530
发布2020-10-27 18:17:25
举报
文章被收录于专栏:后端Coder后端Coder

1,问题简述

给定一个二叉树,返回它的 后序 遍历。

2,示例

代码语言:javascript
复制
输入: [1,null,2,3]  
   1
    \
     2
    /
   3 
输出: [3,2,1]

3,题解思路

使用递归的方式进行解决

4,题解程序

代码语言:javascript
复制

import java.util.ArrayList;
import java.util.List;

public class PostorderTraversalTest2 {
    public static void main(String[] args) {
        TreeNode t1 = new TreeNode(1);
        TreeNode t2 = new TreeNode(2);
        TreeNode t3 = new TreeNode(3);
        t1.right = t2;
        t2.left = t3;
        List<Integer> list = postorderTraversal(t1);
        System.out.println("list = " + list);

    }

    private static List<Integer> list = new ArrayList<>();

    public static List<Integer> postorderTraversal(TreeNode root) {
        if (root == null) {
            return list;
        }
        dfs(root);
        return list;
    }

    private static void dfs(TreeNode root) {
        if (root.left != null) {
            dfs(root.left);
        }
        if (root.right != null) {
            dfs(root.right);
        }
        list.add(root.val);
    }
}

5,题解程序图片版

6,总结一下

写到这里自己不知道写什么了,也不知道想给需要的读者表达了什么,可能有点累了,因为现在已经是很晚的时间了,还在写程序,说点什么呢?读过我文章的读者应该都知道我一般写文章都没有很多的注释性文字说明,我觉得代码本身具有注释性,除非是分析源码的文章会有过多的文字说明,写到这大部分题都是基本的逻辑思维题,不涉及很复杂的实现,就没有进行过多的文字说明,需要的可以在留言板进行讨论,目前开启了读者讨论这个功能,需要的可以留言进行沟通一下你的想法,这样可以更好的交流,那么有问题欢迎你讨论,下方留言讨论吧

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

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

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

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