type TreeNode = {
value: number;
left: TreeNode | null;
right: TreeNode | null;
};
function minNode(node: TreeNode | null): number | null {
if (node === null) {
return null;
}
return node.value;
}
const node: TreeNode = {
value: 1,
left: null,
right: null,
};
const a = minNode(node)!;
In this function, when I pass TreeNode it returns number, when I pass null it returns null.
How to modify this function so I can get rid of this ! when node is not null?
>Solution :
Use an overload:
function minNode(node: null): null;
function minNode(node: TreeNode): number;
function minNode(node: TreeNode | null): number | null {
if (node === null) {
return null;
}
return node.value;
}