Конечные узлы из Предзаказа Двоичного Поискового Дерева - PullRequest
0 голосов
/ 26 октября 2019

При заданном обходе предзаказа дерева двоичного поиска A длины N. Возвращает массив целых чисел, представляющих конечные узлы дерева двоичного поиска, из заданного предзаказа. Вы можете вернуть листовые узлы в любом порядке.

Я сделал это с помощью geeksforgeeks, но я не могу понять, как код играет роль стека и почему я не могу напечатать узлы, которые препятствуют уменьшению порядка

 public class Solution {
      public ArrayList<Integer> solve(ArrayList<Integer> A) {
          ArrayList<Integer> al=new ArrayList<Integer>();
          Stack<Integer> s=new Stack<>();
          for(int i=0,j=1;j<A.size();i++,j++)
          {
              boolean f=false;

              if(A.get(i)>A.get(j))
                   s.push(A.get(i));
              else
              {
                  while(!s.isEmpty())
                   {
                     if(A.get(j)>s.peek())
                     {
                       s.pop();
                       f=true;
                     }
                    else
                       break;
                 }
              }
         if(f)
             al.add(A.get(i));
       }
       al.add(A.get(A.size()-1));
       return al;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...