简单题35-翻转链表

【题目】
描述

翻转一个链表
您在真实的面试中是否遇到过这个题? 是
样例

给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战

在原地一次翻转完成
【思路】
两个头指针 一个cur 找下一个 然后赋予到reverse上
【代码实现】

/**
 * Definition for ListNode
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */

public class Solution {
    /**
     * @param head: n
     * @return: The new head of reversed linked list.
     */
    public ListNode reverse(ListNode head) {
        if (head == null) {
            return null;
        }
        ListNode cur = head;
        ListNode reverse = null;
        while (cur != null) {
            ListNode temp = cur.next;
            cur.next = reverse;
            reverse = cur;
            cur=temp;
        }
        return reverse;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容