https://www.codinginterview.net/2023/05/lowest-common-ancestor.html