题目描述

输入一个链表,反转链表后,输出新链表的表头。

 

 

题目链接:

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&rp=1&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking

 

 

 

 

 1 /*
 2 public class ListNode {
 3     int val;
 4     ListNode next = null;
 5 
 6     ListNode(int val) {
 7         this.val = val;
 8     }
 9 }*/
10 public class Solution {
11     public ListNode ReverseList(ListNode head) {
12         if(null == head){
13             return null;
14         }
15         //记录新链表的表头
16         ListNode newHead = null;
17         //记录旧链表的表头
18         ListNode oldTail = head;
19         while(oldTail != null){
20             //存一下当前节点
21             ListNode cur = oldTail;
22             //旧链表下一个节点
23             oldTail = oldTail.next;
24             //当前节点指向新链表表头
25             cur.next = newHead;
26             //更新新链表表头
27             newHead = cur;
28         }
29         
30         return newHead;
31     }
32 }

 

posted on 2020-06-05 04:33  MoonBeautiful  阅读(194)  评论(0编辑  收藏  举报