概念
python实现(自己瞎想的,希望大佬批评指正)
与Java不同,Python不允许按参数类型重载函数或方法。一个class只能有一个用于构造对象的 __init__函数,但python中的变量是无类型的。因此传给 __init__的参数可以是任何类型。
python中的函数参数在定义时可以有默认值,可以让 __init__函数接受多个参数,在后面的一些参数给出默认值的方法让__init__接受不同个数的参数,并且执行类型检查执行不同的代码,用上述方法实现类的 构造函数的多态性
class treeNode():
def __init__(self, val):
if (isinstance(val, int)): # 如果输入的数是int 就初始化一个单独的树节点
self.val = val
self.left = None
self.right = None
if (isinstance(val, list)): # 如果输入的数是数组list,就层次遍历
tmp = self.createBT(val, 0)
if (tmp != None