二叉树类构造函数

时间:2021-02-15 01:10:37

标签: java algorithm data-structures

我开始编写一些代码来反转二叉树,我得到了下面的结果。这很简单,但我不明白注释部分中的“TreeNode() {}”是什么?谢谢!

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public TreeNode invertTree(TreeNode root) {
        
    }
}

1 个答案:

答案 0 :(得分:1)

TreeNode() {} 是一个无参数构造函数(在 Java 中是 different from a default constructor)。它没有身体,因此什么也做不了。由于 Java initializes all member variables to their default values upon creation,在调用构造函数之前,空白的构造函数主体会将这些值保留为默认状态。

请注意 since Objects are initialized to null,在分配之前尝试访问 leftright 将导致错误。