leetcode树之从翻转二叉树

时间:2022-07-25
本文章向大家介绍leetcode树之从翻转二叉树,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文主要记录一下leetcode树之从翻转二叉树

题目

翻转一棵二叉树。示例:输入:     4   /     2     7 /    / 1   3 6   9输出:     4   /     7     2 /    / 9   6 3   1备注:这个问题是受到 Max Howell 的 原问题 启发的 :    谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public TreeNode invertTree(TreeNode root) {        if (root == null) {            return root;        }        TreeNode tmp = root.left;        root.left = invertTree(root.right);        root.right = invertTree(tmp);        return root;    }}

小结

这里采用递归的思路,首先用tmp保存一下left节点,之后递归翻转right节点赋值给left,再递归翻转tmp赋值为right。

doc