1. 1041. 困于环中的机器人 - 力扣(LeetCode)
//思路:可以利用轴上四个方向的单位坐标表示机器人的运动。遍历字符串,根据字符串内容进行相应的行动。
bool isRobotBounded(char* instructions)
{
int arr[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};//四个方向的运动
int x = 0;//记录机器人的x坐标
int y = 0;//记录机器人的y坐标
int flag = 0;//用于判断机器人下一步的行动方向
int str = strlen(instructions);
for(int i = 0;i<str;i++)
{
if(instructions[i]=='G')//如果为'G',机器人根据flag的值在数组中确定运动方向
{
x+=arr[flag][0];
y+=arr[flag][1];
}
else if(instructions[i]=='L')//左转90°
{
flag+=3;
flag%=4;
}
else//右转90°
{
flag++;
flag%=4;
}
}
return flag!=0||(x==0&&y==0);
}