Вопрос о методике, использованной в решении для LeetCode 1110. Удаление узлов и возврат леса - PullRequest
0 голосов
/ 18 февраля 2020

LeetCode 1110. Удаление узлов и возврат леса enter image description here

Одно из решений - 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) для меня загадка.

enter image description here

...