面试题16:反转链表

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

非递归算法

递归算法:

1.找到最后一个节点和倒数第二个节点,把最后一个节点设为头节点的后继

2.反转这两个节点

3.倒数第三个和第四个节点重复执行步骤2

其中注意,链表是以节点后继为NULL结束的,在更改指针的过程中要把改后的节点后继改为NULL

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目链接:面试题16 反转链表 我的思路 反转链表的基本思路就是把指向后驱的指针指向前驱 如果把指针的指向改变,无...
    贾雨村甄士隐阅读 3,051评论 0 0
  • 题目:输入一个链表,反转链表后,输出链表的所有元素。 思路1:用列表保存链表中的所有元素,然后将其进行反转,新建链...
    minningl阅读 1,693评论 0 0
  • 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 代码实现 主要思路 1、首先我们需要3个结点,第一个是当...
    _minimal阅读 1,508评论 0 0
  • 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 解法:
    qmss阅读 1,468评论 0 0
  • //leetcode中还有花样链表题,这里几个例子,冰山一角 求单链表中结点的个数----时间复杂度O(n)这是最...
    暗黑破坏球嘿哈阅读 5,446评论 0 6

友情链接更多精彩内容