Обычно, когда вы используете Queue<Integer> q=new LinkedList<>();
, вы заново создаете свою переменную q. Поэтому каждый раз, когда вы вызываете свой метод, вы получаете новый пустой LinkedList
.
Чтобы это исправить, вам просто нужно хранить q
вне метода, например:
Queue<Integer> q = new LinkedList<>();
public Queue<Integer> store_inorder(node n){
if(n.left!=null)
store_inorder(n.left);
q.add(n.data);
if(n.right!=null)
store_inorder(n.right);
return q;
}
Чтобы подробнее узнать, как это происходит, я предлагаю вам немного изучить область действия переменных в java .