美文网首页数据结构与算法面试程序员
数据结构面试 之 单链表逆序 附图解

数据结构面试 之 单链表逆序 附图解

作者: Linux后端研发工程实践 | 来源:发表于2017-03-21 19:06 被阅读133次

1.算法概述

遍历链表,并在遍历的过程中修改当前节点cur的next指针,使当前节点cur的next指针指向当前节点的前驱节点pre,遍历完之后pre指针就是逆序后链表的头指针。

2.图解

  • 初始化
  • 遍历节点
  • 遍历结束

3.代码实现

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode * pre = NULL;
        ListNode * cur = head;
        while (head)
        {
            head = head->next;
            cur->next = pre;
            pre = cur;
            cur = head;
        }
        return pre;
    }
}; 

4.OJ练习

LeetCode 单链表逆序

相关文章

  • 数据结构面试 之 单链表逆序 附图解

    1.算法概述 遍历链表,并在遍历的过程中修改当前节点cur的next指针,使当前节点cur的next指针指向当前节...

  • LeetCode 2. Add Two Numbers

    单链表逆序相加

  • 算法面经--单链表的操作

    单链表操作(附:新浪百度腾讯面试题) 一、单链表介绍 1.1 单链表在内存中的样子 (物理结构) 1.2 逻辑结构...

  • 数据结构 | 其二 链表

    冰河winner - 数据结构之链表 2.1 单向链表 数据结构(一) 单链表的实现-JAVA 2.2 双端链表 ...

  • 反转链表的几种模式

    ​链表作为一种常用的数据结构,面试当然也是家常便饭。此处就来谈谈关于链表面试中的的几种常见反转。 1.逆序所有节点...

  • Leetcode-Medium-2 Add Two Number

    题目 思路 给定两哥数字非负的单链表,每条单链表逆序存储着一个数字。将两条单链表存储的数字相加,并逆序放入单链表中...

  • 数据结构面试 之 回文单链表 附图解

    1.限制与要求 时间复杂度O(n),空间复杂度O(1) 2.思考 回文最初的概念是应用在字符串上的,比如"abcc...

  • 面试题「单链表逆序」

    本文为原创文章,如需转载请注明出处,谢谢! 扯淡 今天出去面试又碰到这题了,从毕业到现在面试这么多次,也碰上了不少...

  • 逆序单链表

    1、对一个单链表进行逆序操作。逆序之前为 head-->A-->B-->C-->None逆序之后为 head-->...

  • 单链表逆序

    1.创建链表结构 2.新建节点 3.打印函数 4.main函数实现 5.打印结果

网友评论

    本文标题:数据结构面试 之 单链表逆序 附图解

    本文链接:https://www.haomeiwen.com/subject/btggnttx.html