Всегда ли они говорят, что они равны?
Вы инициализируете currentNode
и aListNode
одним и тем же узлом:
Node currentNode = firstNode;
Node aListNode = firstNode;
Возможно, вы хотите это:
Node currentNode = firstNode;
Node aListNode = aList.firstNode;
Как только вы это исправите, вы обнаружите, что он работает вечно.Вам следует return false
как только вы поймете, что два списка не равны.Тогда вы можете избавиться от isEqual
.Прямо сейчас вы устанавливаете isEqual
в false, но вы никогда не выходите из цикла.