public static List<Integer> getVals(Node root){
  List<Integer> ret=new ArrayList();
  if(root == null) return ret;
  Queue<Node> qRet=new LinkedList();
  qRet.add(root);
  for(;!qRet.isEmpty();){
    int size=qRet.size();
    for(;size>0;){//有数据进行循环获取
      size--;
      Node node=qRet.poll();//获取一个
      if(size==0){
        ret.add(node.value);
      }
      //先进先出
      if(node.left!=null){
        qRet.add(node.left);
      }if(node.right!=null){ // --bug, else if 导致只push了左孩子
        qRet.add(node.right);
      }
    }
  }
  rrturn res; // --return
}

 

相关文章:

  • 2021-09-09
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2018-11-14
  • 2021-11-27
  • 2021-08-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
  • 2021-06-04
  • 2022-01-01
  • 2022-01-17
  • 2021-09-02
相关资源
相似解决方案