657. robot puede volver a casa
En el plano de dos dimensiones, un robot desde el origen (0, 0). Dada su secuencia de movimiento, se determina si el extremo del robot en el (0, 0) después de que el movimiento se ha completado.
Mover secuencia representada por la cadena. Mover personaje [i] denota el i-ésimo movimiento. funcionamiento eficaz del robot R (derecha), L (izquierda), T (arriba) y D (hacia abajo). Si el robot después de la finalización de todas las acciones para volver a casa, que devuelve verdadero. De lo contrario, devuelve falso.
Nota: el robot "frente a" la dirección no importa. "R" siempre hará que el robot se mueva a la derecha una vez, "L" siempre se moverá hacia la izquierda y así sucesivamente. Además, cada robot móvil se supone que el mismo rango de movimiento.
Ejemplo 1:
Entrada: "UD"
Salida: true
explicación: el robot se mueve hacia arriba una vez, y luego se movieron hacia abajo de nuevo. Todas las acciones tienen la misma magnitud, por lo que, finalmente, de vuelta al punto de que empezara. Por lo tanto, volvemos cierto.
Ejemplo 2:
Intro: "LL"
de salida: falsa
explicación: el robot se mueve a la izquierda dos veces. Por último, se encuentra a la izquierda del origen, la distancia desde el origen tiene dos "movimiento". Volvemos falsa, porque no volvió a casa al final del movimiento.
class Solution {
public boolean judgeCircle(String moves) {
int col = 0, row = 0;
for(char ch : moves.toCharArray()){
if(ch == 'U') row++;
else if(ch == 'D') row--;
else if(ch == 'L') col--;
else col++;
}
return col == 0 && row == 0;
}
}