我开始编写一些代码来反转二叉树,我得到了下面的结果。这很简单,但我不明白注释部分中的“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) {
}
}
答案 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,在分配之前尝试访问 left
或 right
将导致错误。