Java: создание связанного списка в цикле while - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь сделать int (например, 123) в связанный список.Например: 123 может привести к связанному списку 3 -> 2 -> 1. Моя проблема в том, что я могу получить каждую часть числа (например, 3 или 2), но не могу создать связанный список.

Вот мой цикл while:

        value = Integer.parseInt(l1StrRev) + Integer.parseInt(l2StrRev);
        result = new ListNode(value % 10);
        value = value / 10;
        while(value > 0) {
            int newVal = value % 10;
            result.next = new ListNode(newVal);
            result = result.next;
            value = value / 10;
        }

Я получаю обратно связанный список только одного узла с самым последним значением.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Похоже, вы пропустили и перепутали пару строк.В вашем цикле это должно быть что-то вроде ...

  • Создать новый узел

    Node node = new ListNode(newVal);

  • Установить узел.следовать с результатом

    node.next = result;

  • Ваш результат становится новым узлом выше

    result = node;

0 голосов
/ 24 октября 2018

В вашем коде вы также обновляете переменную "result".Поэтому, когда вы возвращаете переменную «result», она фактически указывает на последний узел.Я бы посоветовал до цикла while сделать resultCopy = result.А потом в конце вернуть resultCopy.Таким образом, resultCopy сохраняет головной узел списка, а «result» действует как временный узел, как в коде ur.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...