题解 | #翻转牛群结构#

翻转牛群结构

https://www.nowcoder.com/practice/f17e1aa5329f492f9107cbe303222ad6

知识点:二叉树,递归

这道题题解很简单就可以实现,主要的难度在于思路上,如果有了思路,这道题就可以很简单的解决。

若想将一个二叉树进行反转,其实很简单,无非是将其左右节点进行反转,也就是使用一个临时节点,将左右节点交换即可。其中的一个问题在于左右子树的结构也需要进行反转的操作,故我们可以直接递归地调用该反转函数,直至到达叶子节点。

Java题解如下:

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return TreeNode类
     */
    public TreeNode invertTree (TreeNode root) {
        // write code here
        if(root == null || root.left == null && root.right == null) {
            return root;
        }
        TreeNode tmp = invertTree(root.left);
        root.left = invertTree(root.right);
        root.right = tmp;
        return root;
    }
}

全部评论

相关推荐

会飞的猿:本人来了,手一抖转错了,我是学生,能还给我吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务