加载中...

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 29 下一页
摘要: **题目描述:** 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 **解题思路:** 首先要理解此题目的含义,在双向链表中,每个结点都有前后两个指针;二叉树中,每个结点都有两个指向子结点的左右指针,同时,二叉搜索树树也是一种排序的 阅读全文
posted @ 2023-08-14 23:49 bujidao1128 阅读(45) 评论(0) 推荐(0)
摘要: # 【剑指Offer】 24、二叉树中和为某一值的路径 **题目描述:** 输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) **解题思路:** 阅读全文
posted @ 2023-08-14 23:42 bujidao1128 阅读(29) 评论(0) 推荐(0)
摘要: # 【剑指Offer】23、二叉搜索树的后序遍历序列 **题目描述:** 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 **解题思路:** 对于后续遍历序列,序列的最后一个值一定是树的根结点,而由二叉搜索树 阅读全文
posted @ 2023-08-14 23:35 bujidao1128 阅读(39) 评论(0) 推荐(0)
摘要: # 【剑指Offer】22、从上往下打印二叉树 **题目描述:** 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 **解题思路:** 本题实际上就是二叉树的层次遍历,深度遍历可以用递归或者栈,而层次遍历很明显应该使用队列。同样我们可以通过一个例子来分析得到规律:每次打印一个结点时,如果该结 阅读全文
posted @ 2023-08-13 23:59 bujidao1128 阅读(30) 评论(0) 推荐(0)
摘要: # 【剑指Offer】18、二叉树的镜像 **题目描述:** 操作给定的二叉树,将其变换为原二叉树的镜像。 **解题思路:** 求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有的非叶结点的左、右子结点后,就可以得到该树的镜像。 如下面的例 阅读全文
posted @ 2023-08-13 23:55 bujidao1128 阅读(38) 评论(0) 推荐(0)
摘要: # 【剑指Offer】17、树的子结构 **题目描述:** 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) **解题思路:** 要查找树A中是否存在和树B结构一样的子树,我们可以分为两步:第一步,在树A中找到和树B的根结点值一样的结点R;第二步,判断树A中 阅读全文
posted @ 2023-08-13 23:52 bujidao1128 阅读(34) 评论(0) 推荐(0)
摘要: # 【剑指Offer】4、重建二叉树 **题目描述:** 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回根结点。 阅读全文
posted @ 2023-08-12 23:55 bujidao1128 阅读(47) 评论(0) 推荐(0)
摘要: # 【剑指Offer】56、删除链表中重复的结点 **题目描述:** 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。 **解题思路:** 关于链表的大多数题目还是比较简单的 阅读全文
posted @ 2023-08-12 23:51 bujidao1128 阅读(59) 评论(0) 推荐(0)
摘要: # 【剑指Offer】55、链表中环的入口结点 **题目描述:** 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 **解题思路:** 本题是一个比较典型的链表题目,难度适中。首先,对于大多人来说,看到这道题是比较开心的,因为判断一个链表是否存在环的方法,基本上大家都知道 阅读全文
posted @ 2023-08-12 23:46 bujidao1128 阅读(37) 评论(0) 推荐(0)
摘要: # 【剑指Offer】36、两个链表的第一个公共结点 **题目描述:** 输入两个链表,找出它们的第一个公共结点。 **解题思路:** 本题首先可以很直观的想到蛮力法,即对链表1(假设长度为m)的每一个结点,遍历链表2(假设长度为n),找有没有与其相同的结点,这显然复杂度为O(mn)。 进一步考虑, 阅读全文
posted @ 2023-08-11 23:55 bujidao1128 阅读(31) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 29 下一页