![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
weich37
这个作者很懒,什么都没留下…
展开
-
剑指offer面试题52 两个链表的第一个公共节点
题目描述: 输入两个链表,找出它们的第一个公共节点。注意公共节点指的是具有相同地址的两个节点。 解题思路 1 双栈法 将链表的节点依次压入至两个不同的栈中,再同时出栈,最后一个地址相同的节点则为公共节点。 2 链表拼接法 如图所示,A,A’分别为拼接前与拼接后的链表,此时设定两个指针pa与pb,分别从A’,B’开始遍历。在代码中不需要将两个链表进行拼接,当pa指针为空时,将它重新指向B链表的头指...原创 2020-03-09 17:02:42 · 137 阅读 · 0 评论 -
剑指offer面试题36 二叉搜索树与双向链表
题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 解题思路: 题目要求得到排序的链表,所以中序遍历二叉搜索树。在遍历的过程中进行节点的左右连接。 代码 class Solution { public: Node* treeToDoublyList(Node* root) { if(!root)...原创 2020-03-09 10:52:12 · 116 阅读 · 0 评论 -
剑指offer面试题35 复杂链表的复制
题目描述: 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 解题思路: 1 哈希表 第一步复制原始链表上的每个节点N,由此创建复制节点N‘,同时将<N,N’>对放到一个哈希表中。第二步利用已生成的哈希表对复制节点N‘进行连接。利用空间换取时间,...原创 2020-03-08 15:12:35 · 137 阅读 · 0 评论