摘要:
题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解答: 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的 阅读全文
posted @ 2020-05-06 19:37
梦醒潇湘
阅读(183)
评论(0)
推荐(0)
摘要:
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)。 解答: 1 class Solution { 2 bool isSubtree(TreeNode* pRootA, TreeNode* pRootB) 3 { 4 if (pRootB == NULL 阅读全文
posted @ 2020-05-06 18:39
梦醒潇湘
阅读(196)
评论(0)
推荐(0)
摘要:
题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解答: 3 4 /* 5 *解题思路: 6 *1、遍历链 阅读全文
posted @ 2020-05-06 17:23
梦醒潇湘
阅读(177)
评论(0)
推荐(0)
摘要:
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解答: 1 // 中序遍历即可。只需要记录一个pre指针即可。 2 3 4 class Solution { 5 public: 6 TreeNode* Convert(Tre 阅读全文
posted @ 2020-05-06 17:03
梦醒潇湘
阅读(165)
评论(0)
推荐(0)
摘要:
题目: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 解答: 思路: 设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点(结论1)。接着让两个指针分别从相遇点和链表头出发,两者都改为每次走一步,最终相遇于环入口(结论2)。以下 阅读全文
posted @ 2020-05-06 16:30
梦醒潇湘
阅读(170)
评论(0)
推荐(0)