利用非递归算法来搜索二叉树中的某个元素java

层序遍历

可以利用层序遍历来解决这个问题

代码

boolean searchUsingLevelOrder(BinaryTreeNode root,int data){
    
    
  BinaryTreeNode temp;
  LLQueue q = new LLQueue();
  if(root == null)
    return false;
  q.enqueue(root);
  while(q.isNotEmpty()){
    
    
    temp = q.deQueue();
    if(data == root.getData())
      return true;
    if(temp.getLeft() != null)
      q.enqueue(temp.getLeft());
    if(temp.getRight() != null)
      q.enqueue(temp.getRight());
  }
  q.deleteQueue();
  return false;
}

猜你喜欢

转载自blog.csdn.net/weixin_37632716/article/details/110007024