二叉树的右子树

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
}

 

posted @ 2020-12-24 19:53  soft.push("zzq")  Views(169)  Comments(0Edit  收藏  举报