HonestgentleZHL
HonestgentleZHL
全部文章
题解
Python(1)
机器学习(1)
归档
标签
去牛客网
登录
/
注册
ZhangHL
感谢留言指正~~ Maple Jordon
全部文章
/ 题解
(共9篇)
题解 | #顺时针打印矩阵#
每一圈的打印,很自然便可以想到遵循从左到右,从上到下,从右到左,从下到上的顺序。但是这里需要注意的是最后一圈的打印,由于矩阵并不一定是方阵,最后一圈有可能退化为只有一行,只有一列,甚至只有一个数,因此要注意进行判断,避免重复打印。 注意可能在一开始只有一列或者一行数据,所以要对行和列的数量进行判断 ...
Python
剑指offer
Python3
2021-07-07
0
429
题解 | #二叉树的镜像#
描述 操作给定的二叉树,将其变换为源二叉树的镜像。 递归,将左子树右子树进行交换,然后再去递归翻转左右子树 class Solution: # 返回镜像树的根节点 def Mirror(self, root): if not root: r...
Python
剑指offer
Python3
2021-07-07
0
329
题解 | #树的子结构#
描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构 根据题意可知,需要一个函数判断树A和树B是否有相同的结构。显然是个递归程序。 递归函数的功能:判断2个数是否有相同的结构,如果相同,返回true,否则返回false 递归终止条件:如果树B为空,返回tr...
Python
剑指offer
Python3
2021-07-06
0
346
题解 | #合并两个排序的链表#
描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 把结果用列表存放再返回 用递归方法,不断进行比较合并返回 class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): ...
Python
剑指offer
Python3
2021-07-06
3
631
题解 | #反转链表#
描述 输入一个链表,反转链表后,输出新链表的表头。 主要注意当头结点为空或者整个链表只有一个结点时,翻转后的链表断裂,返回的翻转之后的头节点不是原来的尾节点。所以需要一个翻转后的头节点,一个指向当前结点的指针,两个分别指向当前结点的前后结点的指针,防止断裂。也可以使用递归。 用一个Pre节点设置为...
剑指offer
Python
Python3
2021-07-06
0
675
题解 | #旋转数组的最小数字#
描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 遍历数组 二分查找的变形,旋转数组的首元素肯定不小于旋转数组的尾元素,找一个中间点,如果中间点...
Python
剑指offer
Python3
2021-07-04
3
407
题解 | #用两个栈实现队列#
**描述 用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。 示例: 输入: ["PSH1","PSH2","POP","POP"] 返回: 1,2 解析: "PSH1":代...
Python
剑指offer
Python3
2021-07-03
0
488
题解 | #从尾到头打印链表#
描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 采用递归方法, 重建二叉树就是层序遍历,找出每层的根节...
Python
剑指offer
Python3
2021-07-03
0
394
题解 | #从尾到头打印链表#
描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead1(self, listNode): if not listNode: ...
Python
剑指offer
Python3
2021-07-03
0
434