码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 反转链表

时间:2020-06-06 18:51:43      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:break   pre   bre   etc   ever   sel   节点   code   输出   

反转一个单链表。

示例:

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


    // 将链表分为new和old两个链表
    // curOld是old链表的头指针
    // curNew是new链表的头指针
    // 本质上讲old链表的结点一个一个取出后,将取出的节点再重组成一个新链表
    ListNode* reverseList(ListNode* head) {
        ListNode* curOld = head;
        ListNode* curNew = NULL;
        ListNode* tmp = NULL;

        while(1) {
            if(curOld == NULL) {
                break;
            }            
            //old指针即将跳转的下一个位置存起来
            tmp = curOld->next;  

            //old指针放入new链表的头位置
            curOld->next = curNew; 
            curNew = curOld; 

            //old指针移位到下一个
            curOld = tmp;

        }

        return curNew;
    }

 



leetcode 反转链表

标签:break   pre   bre   etc   ever   sel   节点   code   输出   

原文地址:https://www.cnblogs.com/superPerfect/p/13055647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!