算法练习Day14| 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度

#二叉树#算法#leetcode

今天下班晚,回家已经十点多了,题目明显已经刷不动了,而且今天公司也有比较多事,很累,只做了一道题,先记录下来,继续做效率肯定很低了,剩下的三道题后续补充。怎么感觉有点跟不上进度了,不行呀小伙子,继续加油!

226.翻转二叉树

题目链接:226. 翻转二叉树 - 力扣(LeetCode)给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

这道题的思路就是遍历二叉树,将所有节点的孩子节点翻转即可,主要是遍历顺序的问题,最好是先序遍历或者后续,因为中序遍历会把某些节点的左右孩子翻转了两次!

具体代码:

public TreeNode invertTree(TreeNode root) {
        if(null == root) {
            return root;
        }
        swapChildNode(root);
        invertTree(root.left);
        invertTree(root.right);
        

        return root;
    }

    private void swapChildNode(TreeNode root) {
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
    }

二叉树真实到处都有递归,还得多想想,有时候看代码听简单的,但是思路其实是更重要的。

101. 对称二叉树

104.二叉树的最大深度

111.二叉树的最小深度 

后续补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值