Algorithm 找到前进而不是后退的路径的算法

Algorithm 找到前进而不是后退的路径的算法,algorithm,Algorithm,我曾面临面试问题,但无法回答。有人能指导我吗? 问题是- 有一条隧道有左转弯和右转弯,但没有T形转弯,就像没有左转弯和右转弯同时出现的情况一样。现在我给出了三种方法 void GoStraight//移动staright 左转//左移一次 布尔伊斯沃尔//如果存在墙,则返回true 现在编写一个程序,在不后退的情况下继续前进 我已经试过了,但不知道如何正确行动 do { GoStraight(); }while(!IsWall()) 更新: 我得到了完整的解决方案,

我曾面临面试问题,但无法回答。有人能指导我吗? 问题是-

有一条隧道有左转弯和右转弯,但没有T形转弯,就像没有左转弯和右转弯同时出现的情况一样。现在我给出了三种方法

void GoStraight//移动staright

左转//左移一次

布尔伊斯沃尔//如果存在墙,则返回true

现在编写一个程序,在不后退的情况下继续前进

我已经试过了,但不知道如何正确行动

do
    {
      GoStraight();
    }while(!IsWall())
更新:

我得到了完整的解决方案,就像

do{
gostraight(); 
if(isWall())
{goLeft();Continue;
}
}while(true);
那么:

while (IsWall())
    TurnLeft()
GoStraight()
用例:

 *****   * ***
>    *   *   *
 *** *   *** *
 *   *  >    *
 * ***   *****

 R R L   L L R

到目前为止你有试过什么吗?我们不为您编写程序。这是解决迷宫的正确规则!!左手在你的情况下,是我还是你不会回到你原来的地方,如果有一个右转?@MAV是的,但你知道,问一个愚蠢的问题。。。不要当着面试官的面这么说!当我们直线移动时,我们找到了墙,然后我们将向左移动,再次检查是否有墙。如果有墙,我们将向左移动,否则继续直线移动。因此,如果我们连续向左移动两次,这意味着我们已从当前位置向后移动。不是吗?
 *****   * ***
>    *   *   *
 *** *   *** *
 *   *  >    *
 * ***   *****

 R R L   L L R