剑指offer - 反转链表

    xiaoxiao2022-07-02  109

    题目描述 :

    输入一个链表,反转链表后,输出新链表的表头。(注意: 题目未告知无头节点还是有头节点,最终测试得知为无头节点)

    主要思想 :

    public static ListNode ReverseList(ListNode head) { if(head == null ){ return null; } if (head.next == null) return head; ListNode P = head.next; head.next= null; ListNode S = null; while (P != null) { S = P.next; //保存P下一节点信息,防止之后的节点丢失 P.next = head; head = P; P = S; } return head; }

    注意点 :

    考虑特殊情况1,当仅有head节点时,应返回head节点考虑特殊情况2,当链表为空时,应返回null
    最新回复(0)