输入一个链表,反转链表后,输出链表的所有元素。

来源:互联网 发布:linux搜狗输入法设置 编辑:程序博客网 时间:2024/05/29 04:37

思想 :

在遍历节点时将节点翻转, 需要借助于两个节点 pre 和 curr 这两个节点。pre 节点表示当前已经反转节点的头结点,curr节点表示当前已经翻转到哪一个节点。

时间复杂度 O(N),因为只是遍历一次就可以搞定
空间复杂度O (1)

代码实现

 public ListNode ReverseList(ListNode head) {        if (head == null) return null;        ListNode pre;        ListNode curr = head.next;        pre = head;        pre.next = null;        while (curr != null) {            ListNode node = curr.next;            curr.next=pre;            pre=curr;            curr = node;        }        return pre;    }
阅读全文
0 0