工作生活LeetCode

反转链表

2019-07-02  本文已影响0人  习惯了_就好

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode result = null;//存放已经处理的节点
        
        while(head != null){
            ListNode temp = head.next;//先把当前节点的下一个节点给存起来
            
            head.next = result;//当前节点的下一个节点指向为已经处理的节点链表,即将该节点指向它的上一个节点
            
            result = head;//让头指针指向当前已经处理的节点
            
            head = temp;//将当前指针指向下一个节点
            
        }
        
        return result;
    }
}
上一篇下一篇

猜你喜欢

热点阅读