Reversing a singly linked list iteratively

后端 未结 7 1252
情话喂你
情话喂你 2021-01-01 08:17

Has to be O(n) and in-place (space complexity of 1). The code below does work, but is there a simpler or better way?

public void invert() {
    if (this.getH         


        
7条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-01 08:36

    How about this:

    public void invert() {
        if (head != null) {
            for (Node tail = head.getNext(); tail != null; ) {
                Node nextTail = tail.getNext();
                tail.setNext(head);
                head = tail;
                tail = nextTail;
            }
        }
    }
    

提交回复
热议问题