反转链表

问题:输入一个链表的表头,将该链表反转,输出新链表的表头

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function ReverseList(pHead)
{
    // write code here
    let pRes = null;
    let pPre = null;
    let pCur = pHead;
    while(pCur!=null){
        let pNext = pCur.next;
        if(pNext == null){
            pRes = pCur;
        }
        pCur.next = pPre;
        pPre = pCur;
        pCur = pNext;
    }
    return pRes;
}

需要定义3个指针:

一个指向当前节点,一个指向前一个节点,一个指向后一个节点。

当当前指针的下一个节点为 null 时,代表当前节点是新链表的头节点

posted @ 2019-06-16 16:42  湛蓝的家  阅读(127)  评论(0编辑  收藏  举报