题解 | #反转链表#

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

反转链表的解题思路

注意:本题是没有头节点的链表,如果当成是有头节点的链表,可能会报空指针异常!!!!

思路:实现链表反转,相当于把原链表从头遍历,一个一个拆下来,然后利用头插法重新插入另外一个新链表中,当原链表遍历完成之后,新链表就实现了旧链表的反转

```/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null)
        {
            return null;
        }
        ListNode p=head;
        ListNode q=null;
        while(p!=null)
        {
            head=p.next;
            p.next=q;
            q=p;
            p=head;
        }
        return q;

    }
}
全部评论

相关推荐

今天 15:35
武汉大学 运营
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务