leetcode206--链表翻转

反转一个单链表。

示例:

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

解题思路:

从链表头部开始,设立三个指针指向三个相邻元素,不断地改变之间的链接方向,直到遍历完整个链表

实现代码:

struct ListNode* reverseList(struct ListNode* head){
    struct ListNode* node = head;
    struct ListNode* cur = head;
    struct ListNode* pre = NULL;
    while(cur) { 
        cur = cur->next;
        node->next = pre;
        pre = node;
        node = cur;      
    }
    return pre;
}

运行结果:

发布了40 篇原创文章 · 获赞 2 · 访问量 587

猜你喜欢

转载自blog.csdn.net/scacacac/article/details/105237897
今日推荐