本质上是一个求最近公共祖先的问题,关键要解决的问题是把输入转换成一个树形结构,这里仍然是用字典来存储: 针对给定的样例["01011","10100","01000","10000","10000"],1,2 以当前节点为key,关联节点为value列表,可以转换为: { 0:[1,3,4], 1:[0,2], 2:[1], 3:[0], 4:[0] } 然后使用深度优先递归查找目标节点,把经过的路径以列表记录下来即可。 然后两个节点的路径对比,找到最后的相同元素即为最近的公共祖先。 代码如下: class Solution: def Git(self , matrix: List[...