【Java】【leetcode】【題目657
阿新 • • 發佈:2019-01-03
一、題目描述
初始位置 (0, 0) 處有一個機器人。給出它的一系列動作,判斷這個機器人的移動路線是否形成一個圓圈,換言之就是判斷它是否會移回到原來的位置。
移動順序由一個字串表示。每一個動作都是由一個字元來表示的。機器人有效的動作有 R(右),L(左),U(上)和 D(下)。輸出應為 true 或 false,表示機器人移動路線是否成圈。
- 示例 1:
- 輸入: “UD”
- 輸出: true
- 示例 2:
- 輸入: “LL”
- 輸出: false
二、題目分析
用兩個變數分別記錄橫(x)縱(y)座標,初始值為0。經過上下左右移動增減後判斷兩個變數值是否仍為0即可。
三、Java程式碼
class Solution {
public boolean judgeCircle(String moves) {
char move_temp[] = moves.toCharArray();
int x = 0;
int y = 0;
for(int i = 0;i<move_temp.length;i++) {
if(move_temp[i]=='R') //向右移動橫座標x加1
x++;
else if (move_temp[i]=='L' ) //向左移動橫座標x減1
x--;
else if (move_temp[i]=='U') //向上移動縱座標x加1
y++;
else if(move_temp[i]=='D') //向下移動縱座標x減1
y--;
}
return (x==0)&&(y==0); //用&&而不是&來提高效率
}
}