原理很简单,正好走了一圈的时候,上下抵消,左右抵消,所以只需要统计上下和左右的步数,不能抵消则不是一个圈
1. Python 3 代码
class Solution:
def judgeCircle(self, moves):
"""
:type moves: str
:rtype: bool
"""
moves = moves.upper()
Lcount, Rcount, Ucount, Dcount = 0,0,0,0
for item in moves:
if item == 'L':
Lcount += 1
elif item == 'R':
Rcount += 1
elif item == 'U':
Ucount += 1
elif item == 'D':
Dcount += 1
if (Lcount ==Rcount) and (Ucount == Dcount):
return True
return False
2. C# 代码
public class Solution {
public bool JudgeCircle(string moves) {
int Lcount = 0, Rcount = 0, Ucount = 0, Dcount = 0;
moves = moves.ToUpper();
for(int i=0;i<moves.Length;i++)
{
switch(moves[i])
{
case 'L':
++Lcount;
break;
case 'R':
++Rcount;
break;
case 'U':
++Ucount;
break;
case 'D':
++Dcount;
break;
default:
break;
}
}
if(Lcount == Rcount && Ucount == Dcount)
{
return true;
}
return false;
}
}