从此站点https://www.geeksforgeeks.org/lca-for-general-or-n-ary-trees-sparse-matrix-dp-approach-onlogn-ologn/ 我对此while循环部分有疑问:
// runs till path 1 & path 2 mathches
int i = 0;
while (path[1][i] == path[2][i])
i++;
我想递增i直到两个数组元素相等,并且我希望此循环类似于:
// runs till path 1 & path 2 mathches
int i = 0;
while (path[1][i] != path[2][i])
i++;
因为当数值不相等时我想递增“ i”,但看起来并非如此。为什么检查平等而不是不平等?这个while循环使我困惑。 (注意:我运行了整个代码,并且可以正常工作。)
答案 0 :(得分:2)
通过(在您的参考文献中)紧随其后的行返回了最后一个匹配项,我发现该错误在注释中。它应该说类似“只要路径匹配就运行”而不是“直到”。