本文共 1416 字,大约阅读时间需要 4 分钟。
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: trueExample 2:
Input: “LL”
Output: false算法设计
package com.bean.basic;public class JudgeRouteCircle { public static boolean judgeCircle(String moves) { //设定两个变量x,y;分别表示平面图形的横坐标和纵坐标 int x = 0; int y = 0; //将字符串转化为字符数组后,进行迭代 for (char ch : moves.toCharArray()) { /* * 向上移动的方向,纵坐标 y-- * 向下移动的方向,纵坐标 y++ * 向左移动的方向,横坐标 x-- * 向右移动的方向,横坐标 x++ */ if (ch == 'U') y++; else if (ch == 'D') y--; else if (ch == 'R') x++; else if (ch == 'L') x--; } // 路径形成一个环路的条件是:x==0 && y==0 return x == 0 && y == 0; } public static void main(String[] args) { // TODO Auto-generated method stub //String str="UD"; String str="LL"; if(judgeCircle(str)) { System.out.println("True"); }else { System.out.println("False"); } }}
(完)
转载地址:http://uztdi.baihongyu.com/