知识点:树的层数和高度和深度 首先要介绍树的层数:顶点的层数是从根到该顶点唯一通路的长度。 树的深度 = 层数 树的高度 = 层数 + 1 就拿这棵树来说 这棵树的高度是3,...
题目: 对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。 给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListN...
题目: 请实现一个函数,检查一棵二叉树是否为二叉查找树。 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树 这个题目还要考虑c...
请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继)。 给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值。...
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007 给定一个正...
题目: 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。 给定...
题目: 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。
在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个升序数组,元素值各不相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n...
题目 在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个不下降序列,元素值可能相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优...
请编写一个方法,返回某集合的所有非空子集。 给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排...
dict的性能远远高于list 在list中随着数据量的增大,查找时间也会增大 在dict中随着数据量的增大,查找时间不会增大 原因: 因为dict使用哈希表实现的,也就是散...
set集合是唯一的,同时set集合还实现了交集,合集,差集等运算 frozenset是不可以修改的
列表推导式用途 1 生成一个列表2 借助函数完成复杂逻辑运算 生成器 生成器是用推导式生成一个可以迭代的对象生成器是可以转化为一个list的 生成器只有一个;把它变成列表或者...
array的初始化需要指定数据类型,它不像list可以存放任意类型数据,可以混合存放;array只可以存放一种数据,并且初始化时要说明‘b’ 指的是有符号的整形
自己去实现 def getitem(self, item) 函数,让它返回一个还可以切片,迭代的对象,比原来单纯返回切片对象高级
用contextlib来修饰函数,使其变成一个上下文管理器
with上下文的实行是通过Python内置的魔法函数实现的