面试题24. 反转链表

题目描述:

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

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


解法:

定义三个指针,tmp,cur,pre
tmp:存储当前节点的下一个节点,初始化为null
cur:存储当前节点,初始化为head
pre:存储当前节点的前一个节点,初始化为null
代码:

class Solution {
    public ListNode reverseList(ListNode head) {
        //定义tmp指针,存储当前节点的下一个节点
        ListNode tmp = null;
        //定义cur指针,存储当前节点
        ListNode cur = head;
        //定义pre指针,存储当前节点的前一个节点
        ListNode pre = null;
        while(cur!=null){
            tmp = cur.next;
            cur.next = pre;
            pre = cur;
            cur = tmp;
        }
        return pre;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 反转链表 题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 示例: 输入: 1->...
    阿星啊阿星阅读 108评论 0 0
  • 题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。思路:定义三个参数,pre、node...
    scott_alpha阅读 77评论 0 0
  • 题目描述: 输入一个链表,反转链表后,输出新链表的表头。 解题思路: 为防止链表出现断裂的情况,需要定义3个指针,...
    小歪与大白兔阅读 170评论 0 1
  • 面试题24. 反转链表 难度简单 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例:...
    Jay丶x阅读 99评论 0 0
  • 这部影片本不是我的菜,之所以会看是因为我那高三的儿子非看这部片子不可,我和他爸阻拦不了不约而同地选择了陪他一起去看...
    露露走阅读 1,231评论 4 0