leetcode 657. Judge Route Circle

来源:互联网 发布:asp开源cms 编辑:程序博客网 时间:2024/06/06 19:06

Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.

The move sequence is represented by a string. And each move is represent by a character. The valid robot moves are R (Right), L(Left), U (Up) and D (down). The output should be true or false representing whether the robot makes a circle.

Example 1:

Input: "UD"Output: true

Example 2:

Input: "LL"Output: false

简单题一个。

public boolean judgeCircle(String moves) {//L放在int[0],R放在int[1]//U放在int[2],D放在int[3]int[] directions=new int[4];for(int i=0;i<moves.length();i++){char c=moves.charAt(i);switch (c) {case 'L':directions[0]++;break;case 'R':directions[1]++;break;case 'U':directions[2]++;break;case 'D':    directions[3]++;    break;}}if(directions[0]==directions[1]&&directions[2]==directions[3]){return true;}return false;}
大神思路跟我一样,用了更加 clean 的 code。

public class Solution {    public boolean judgeCircle(String moves) {        int x = 0;        int y = 0;        for (char ch : moves.toCharArray()) {            if (ch == 'U') y++;            if (ch == 'D') y--;            if (ch == 'R') x++;            if (ch == 'L') x--;        }        return x == 0 && y == 0;    }}


原创粉丝点击