我正在尝试为我的BST进行递归添加。 public add方法采用int参数,private方法采用相同的int和Node。这是我到目前为止的代码
public void add(int i) {
add(i, root);
}
private void add(int i, Node n) {
if (root==null){
root=new Node(i);
}
if (i < n.element) {
if (n.left != null) {
add(i, n.left);
} else {
n.left = new Node(i);
}
} else if (i > n.element) {
if (n.right != null) {
add(i, n.right);
} else {
n.right = new Node(i);
}
}
}
我一直不断获取空指针,尝试调试,但我的逻辑中有一些我看不到的错误。
答案 0 :(得分:2)
当您的树为空(root = null)时,您正确地创建了一个新节点并将其分配给 constructor(fb:FormBuilder){
this.recordform = fb.group({
name:['',Validators.required],
if(checkbox == true){
test:['',Validators.required]
}
});
}
变量。但这就是它应该做的一切
因此:
<div class="col-md-8">
<div class="form-group" >
<label class="sr-only" for="name">test</label>
<div class="input-group">
<input type="text" class="form-control" formControlName="name" id="name" placeholder="name" >
</div>
</div>
</div>
<div class="checkbox">
<label><input type="checkbox"class="form-control" formControlName="checkbox" id="checkbox" value="">test</label>
</div>
<div class="col-md-8">
<div class="form-group" >
<label class="sr-only" for="test">test</label>
<div class="input-group">
<input type="text" class="form-control" formControlName="test" id="test" placeholder="test" >
</div>
</div>
</div>
</div>
或者,如果你想:
root