【发布时间】:2022-01-18 02:20:07
【问题描述】:
我正在处理 Leet 代码问题116. Populating Next Right Pointers in Each Node:
给你一棵完美二叉树,其中所有的叶子都在同一层,每个父母都有两个孩子。二叉树的定义如下:
struct Node { int val; Node *left; Node *right; Node *next; }填充每个 next 指针以指向其下一个右节点。如果没有下一个右节点,则下一个指针应该设置为
NULL。最初,所有下一个指针都设置为
NULL。
我的解决方案是错误的。我的问题是关于我的这段代码:
if(root.right==null){
return null;
}
root.left.next = root.right;
root.right.next=null;
connect(root.left);
connect(root.right);
return root;
我将root.right分配给root.left.next,但我发现当connect(root.left)被传递时,next节点仍然是null。怎么还有这个null?
【问题讨论】:
-
我将 root.left.next 分配给 root.right 节点, - 如果你的意思是:
root.left.next = root.right;那么它会将 root.right 节点分配给 roor.left .next,与你所说的完全相反。这只是一个术语问题还是更多?a = b表示“将 b 分配给 a”。 -
你说得对,我描述错了
标签: java pointers nullpointerexception binary-search-tree