思路
因为给定的是二叉树,所以能在任意地方插入元素,为了插入,可以使用层序遍历的方法,找到一个左孩子或者右孩子结点为空的结点,然后插入该元素
void insertInBinaryTree(BinaryTreeNode root,int data){
LLQueue q = new LLQueue();
BinaryTreeNode temp;
BinaryTreeNode newNode = new BinaryTreeNode();
newNode.setData(data);
if(root == null){
root = newNode;
return;
}
q.enqueue(root);
while(q.isNotEmpty()){
temp = q.dequeue();
if(temp.getLeft() != null){
q.enqueue(temp.getLeft());
}else{
temp.setLeft(newNode);
q.deleteQueue();
return;
}
if(temp.getRight()!=null){
q.enqueue(temp.getRight());
}else{
temp.setRight(newNode);
q.deleteQueue();
return;
}
}
q.deleteQueue();
}