反转链表
问题:输入一个链表的表头,将该链表反转,输出新链表的表头
/*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 时,代表当前节点是新链表的头节点