LeetCode 1110. Удаление узлов и возврат леса
Одно из решений - 6:14 в https://www.youtube.com/watch?time_continue=44&v=ZwlVb_sz-dE
часть ее решения:
List<TreeNode> res = new ArrayList<>();
res.add(root); //<== how this works?
...
res.remove(cur);
Мой вопрос: root добавляется в res, тогда предположим, что 5 необходимо удалить, и если текущий узел равен 5, тогда выполняется res.remove (cur).
Как это работает? res это ArrayList и содержит только root и root .left.right равен 5 при выполнении res.remove(cur)
, затем один элемент ArrayList, root, автоматически переходит влево, затем вправо и затем удаляет узел 5 ?? ?
Я действительно не понимаю эту часть. Что происходит, когда res.remove(cur)
выполняется внутри? Кто-нибудь может помочь мне понять эту часть?
Мой вопрос не об алгоритме этого вопроса. res.remove (cur) для меня загадка.