活跃农民
- 积分
- 561
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2015-1-2
- 最后登录
- 1970-1-1
|
是我对BST理解有问题吗?怎么这里的代码都是n.val>root.val之后往左插呢?
应该是下面这个这样的呀。还有,Java没有pass by reference,只有pass by value,所以你pass进去的root,你绝对改不了它的reference(address)的。要不就用global variable,要不就像我这样,返回新的root.
public static TreeNode insertNode(TreeNode root,TreeNode node)
{
if(root==null) return node;
else if(node.val<root.val)
{
if(root.left==null)
{
root.left=node;
}
else insertNode(root.left,node);
}
else
{
if(root.right==null)
{
root.right=node;
}
else insertNode(root.right,node);
}
return root;
} |
|