declare class TreeNode { private key; private value; /** * 父节点 */ private parent; /** * 左子节点 */ private left; /** * 右子节点 */ private right; /** * @param key 节点key * @param value 节点值 */ constructor(key: K, value: V); /** * 获取key */ getKey(): K; /** * 更改key */ setKey(key: K): void; /** * 获取节点值 */ getValue(): V; /** * 更改节点值 */ setValue(value: V): void; /** * 获取父节点 */ getParent(): TreeNode | null; /** * 更改父节点 */ setParent(parent: TreeNode | null): void; hasParent(): boolean; /** * 获取左子节点 */ getLeft(): TreeNode | null; /** * 更改左子节点 */ setLeft(left: TreeNode | null): void; /** * 是否有左子节点 */ hasLeft(): boolean; /** * 获取右子节点 */ getRight(): TreeNode | null; /** * 更改右子节点 */ setRight(right: TreeNode | null): void; /** * 是否有右子节点 */ hasRight(): boolean; /** * 判断是否是叶节点 */ isLeaf(): boolean; /** * 是否是父节点的左子节点 */ isLeftChild(): boolean; /** * 是否是父节点的右子节点 */ isRightChild(): boolean; } export default TreeNode;