摘要: 输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。 解题思路 中序遍历,分治(较难懂) 加入辅助栈存储中序遍历结果,然后修改指针(较简单) 法一:中序遍历+分治 #include <iostream> #include <algorithm> #include <math.h> #incl 阅读全文
posted @ 2020-08-17 22:02 程序员曾奈斯 阅读(131) 评论(0) 推荐(0)
摘要: 请实现函数RandomList* Clone(RandomList* pHead),复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针,还有一个指向任意一个节点的random指针。 解题思路 这个题目可以分两步来完成: 遍历节点的next指针,先复制出所有的节点 遍历所有节点的rando 阅读全文
posted @ 2020-08-17 17:28 程序员曾奈斯 阅读(143) 评论(0) 推荐(0)
摘要: 反转单链表的两种方法 今天看了帅地的第二版资料,突然发现单链表的反转居然还可以用递归来做,太妙了吧! 直接上代码,目前只有C++版的(用指针写链表它不香吗?): // 递归法反转单链表 ListNode* reverseListPlus(ListNode* pHead){ if(pHead == n 阅读全文
posted @ 2020-08-17 12:54 程序员曾奈斯 阅读(189) 评论(0) 推荐(0)