非递归算法查找二叉树中的半结点

半结点就是只有左孩子或者右孩子结点的结点

int numberOfHalfNodesINBTusingLevelOrder(BinaryTreeNode root){
    
    
  BinaryTreeNode temp;
  llQueue q = new llQueue();
  int count = 0;
  if(root == null)
    return count;
  while(!q.isEmpty()){
    
    
    temp = q.deQueue();
    if(temp.getleft() != null && temp.getRight() == null || temp.getLeft() == null && temp.getRight() n != null){
    
    
    count++;
  }
  if(temp.getleft()!=null){
    
    
    q.enQueue(temp.getLeft());
  }
  if(){
    
    
    q.enQueue(temp.getRight());
  }
  }
  q.deleteQueue();
  return coount;
}

猜你喜欢

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