学无止境呀~
学无止境呀~
全部文章
题解
归档
标签
去牛客网
登录
/
注册
学无止境呀~的博客
全部文章
/ 题解
(共31篇)
22. 从上往下打印二叉树
22. 从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路 二叉树的层次遍历。使用队列,在逐层遍历的时候访问每一层从左往右的节点都放到一个队列中,先入先出,队列的初始节点是根节点。python代码实现 # -*- coding:utf-8 -*- # cla...
2020-03-17
0
789
18. 二叉树的镜像
18. 二叉树的镜像 题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 思路根据源二叉树镜像的定义,交换每个节点的左子树和右子树 代码实现 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # ...
2019-12-18
0
751
17. 树的子结构
17. 树的子结构 题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路我们约定空树不是任意一个树的子结构,所以只有当A、B均不为空时才判断B树是否为A的子树、子结构。如果B是A的子结构,则B的根节点一定在A中出现,首先在A中找到B的根节点所在,...
2019-12-18
0
954
4. 重建二叉树
4. 重建二叉树 题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路前序遍历:根结点 --->...
2019-12-18
8
989
56. 删除链表中重复的结点
56. 删除链表中重复的结点 题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路在遍历的时候,记录上一个不重复的节...
2019-12-02
1
973
55. 链表中环的入口结点
55. 链表中环的入口结点 题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路链表有环的意思就是,最后一个节点的next指向了前面的某个节点,链表没有None的链表尾部出口。思路一:引入辅助空间,用一个列表保存已经遍历过的节点,如果再次出现,则说明这个节点就是...
2019-10-23
0
665
36. 两个链表的第一个公共结点
36. 两个链表的第一个公共结点 题目描述输入两个链表,找出它们的第一个公共结点。 思路两个链表有交叉的部分,则交叉部分为公共节点,由于链表的每个节点只有唯一的一个next,所以,链表交叉后,之后的节点全部是公共节点,不会再有分叉了。思路一:将两个链表合并,形成pHead1+pHead2和pHea...
2019-10-23
1
756
25. 复杂链表的复制
25. 复杂链表的复制 题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路注意本题的要点在于,输出结果中不要返回参数中的...
2019-10-23
0
774
16. 合并两个排序的链表
16. 合并两个排序的链表 题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路先判断输入的链表是否为空的指针。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接返回第一个链表。如果两个链表都是空链表,合并的结果是得到一个空链...
2019-10-12
0
606
剑指offer 15.反转链表
15. 反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。思路 使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。当前节点不为空时进行遍历:当前节点的next = 前一个节点lastNode(进行前后翻转)前一个节点(lastNode) = 当前节点(往后走一格...
2019-10-12
0
782
首页
上一页
1
2
3
4
下一页
末页