题目描述:
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).
Write a function to determine if a number is strobogrammatic. The number is represented as a string.
Example 1:
Input: "69"
Output: true
Example 2:
Input: "88"
Output: true
Example 3:
Input: "962"
Output: false
class Solution {
public:
bool isStrobogrammatic(string num) {
int i=0;
int j=num.size()-1;
while(i<=j)
{
if(i==j&&(num[i]=='1'||num[i]=='0'||num[i]=='8')) return true;
if((num[i]=='1'&&num[j]=='1')||(num[i]=='0'&&num[j]=='0')||(num[i]=='8'&&num[j]=='8')||
(num[i]=='6'&&num[j]=='9')||(num[i]=='9'&&num[j]=='6'))
{
i++;
j--;
}
else return false;
}
return true;
}
};
本文介绍了一种算法,用于判断一个数字是否为旋转对称数,即该数字在旋转180度后仍然保持不变。通过使用C++实现的函数isStrobogrammatic,文章详细解析了如何比较数字字符串两端的字符,确保它们在旋转后的对应性。
848

被折叠的 条评论
为什么被折叠?



