Merge branch 'main' into trie

This commit is contained in:
Revone 2023-10-18 17:11:30 +08:00
commit 9cf303edd4
2 changed files with 5 additions and 7 deletions

View file

@ -47,10 +47,8 @@ export class TreeNode<V = any> {
}
getHeight() {
// eslint-disable-next-line @typescript-eslint/no-this-alias
const beginRoot = this;
let maxDepth = 1;
if (beginRoot) {
let maxDepth = 0;
if (this) {
const bfs = (node: TreeNode<V>, level: number) => {
if (level > maxDepth) {
maxDepth = level;
@ -62,7 +60,7 @@ export class TreeNode<V = any> {
}
}
};
bfs(beginRoot, 1);
bfs(this, 0);
}
return maxDepth;
}

View file

@ -29,11 +29,11 @@ describe('TreeNode', () => {
child1.addChildren([grandchild1]);
child2.addChildren([grandchild2]);
expect(rootNode.getHeight()).toBe(3); // Height of the tree should be 3
expect(rootNode.getHeight()).toBe(2); // Height of the tree should be 2
});
it('should handle nodes without children when calculating height', () => {
const rootNode = new TreeNode<string>('1', 'Root Node');
expect(rootNode.getHeight()).toBe(1); // Height of a single node should be 1
expect(rootNode.getHeight()).toBe(0); // Height of a single node should be 0
});
});