Leetcode--226. 翻转二叉树
发布日期:2021-04-30 21:04:11 浏览次数:82 分类:精选文章

本文共 649 字,大约阅读时间需要 2 分钟。

翻转一棵二叉树

示例

输入:

4   /    \  2      7 / \    / \1   3   6   9

输出:

4   /    \  7      2 / \    / \9   6   3   1

代码解释

我们定义了一个TreeNode类来表示二叉树的节点。每个节点包含一个值left和right子树。

public class TreeNode {    int val;    TreeNode left;    TreeNode right;    public TreeNode(int x) {        val = x;    }}

实现翻转树的方法

public class Solution {    public TreeNode invertTree(TreeNode root) {        if (root != null) {            TreeNode t = invertTree(root.left);            root.left = invertTree(root.right);            root.right = t;        }        return root;    }}

翻转思路

翻转一棵二叉树可以通过递归的方式实现。对于每个节点,我们先翻转其左子树,然后将原来的右子树设置为左子树的翻转结果,最后将翻转后的左子树赋给当前节点的右子树。这种方法保证了树的结构被完整翻转。

上一篇:JUC-java并发编程-并发工具类-StampedLock源码
下一篇:【Java1】jdk安装/idea安装,关键字/数据类型/标识符,运算符

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2026年06月14日 16时28分51秒