链表
文章平均质量分 60
夜舟酥雨
这个作者很懒,什么都没留下…
展开
-
剑指offer学习笔记——链表2:单链表的翻转(非递归&递归)
对应于剑指offer代码鲁棒性面试题16——反转链表:题目:输入一个链表,反转链表后,输出反转之后链表的头结点。求解思路:有非递归与递归两种解法:1、如果用非递归,为了防止反转一个结点之后链表断掉,我们必须记录当前结点cur,当前结点之前的节点pre,以及当前结点之后的节点post。2、如果使用递归,我们就假设当前结点之后的都已经反转好了。仅仅需要将当前结点之后的结点(post)连到当前结点,当前...原创 2018-06-13 16:32:14 · 322 阅读 · 0 评论 -
剑指offer学习笔记——链表1:链表的定义,删除和尾后插入
剑指offer第二章:面试基础知识之链表1.单向链表结点定义: struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };2.注意,下面的实现函数中,有两种类型: 1)函数有返...原创 2018-06-07 15:31:11 · 269 阅读 · 0 评论 -
剑指offer学习笔记——面试题27:二叉搜索树与双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL),...原创 2018-06-29 16:32:53 · 284 阅读 · 0 评论 -
剑指offer学习笔记——面试题26:复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)struct RandomListNode { int label; struct RandomListNode *next, *random; Rand...原创 2018-06-27 13:57:44 · 229 阅读 · 0 评论