DJIer
DJIer
全部文章
分类
题解(6)
归档
标签
去牛客网
登录
/
注册
DJIer的博客
全部文章
(共6篇)
题解 | #树的子结构#
1、根节点相同,判断根树是否包含子结构。2、根节点不同,判断左右子树中是否包含子结构。注意:3种情况只要有一种返回true即可。 class Solution: def HasSubtree(self, pRoot1, pRoot2): if not pRoot1 or no...
2021-07-28
0
361
题解 | #合并两个排序的链表#
1、构造伪节点防止链表为空2、充分利用递增排序的思想。从头节点开始比较 class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): dummy = ListNode(-1) cur = dumm...
2021-07-28
0
398
题解 | #链表中倒数最后k个结点#
这道题需要注意的就是边界情况1、链表为空 --返回空2、k值小于等于0 ---返回空3、链表长度小于k值 ---返回空4、正常情况,链表长度大于k值 ---快慢指针 class Solution: def FindKthToTail(self , pHead...
链表
快慢指针
2021-07-28
0
354
题解 | #二进制中1的个数#
核心:n&(n-1)将1消掉,负数的表示:n&0xffffffff。 # -*- coding:utf-8 -*- class Solution: def NumberOf1(self, n): res = 0 n = n & 0xff...
2021-07-27
0
285
题解 | #跳台阶扩展问题#
由递推式可知,dp[n]=dp[n-1]+dp[n-2]+...+dp[1]+dp[0].这里dp[0]=dp[1]=1.又因为dp[n-1]=dp[n-2]+...+dp[1]+dp[0]。所以dp[n]=2*dp[n-1]。# -*- coding:utf-8 -*- class Solutio...
2021-07-27
1
320
题解 | #设计LRU缓存结构#
class DlinkNode: # 构造双向链表 def __init__(self, key=0, value=0): self.key = key self.value = value self.prev = None ...
2021-07-27
0
341