Redian新闻
>
这个Palindrome的Check的代码还有什么可以改进的?
avatar
这个Palindrome的Check的代码还有什么可以改进的?# JobHunting - 待字闺中
d*5
1
可不可以给个详细步奏
fatwallet 看了半天
还是没减到$280
avatar
l*s
2
We only need to consider lower case
"bob" // is a palindrome
"a man, a plan, a canal, panama!" // is a palindrome
".374" // is a palindrome
" ;" // is a palindrome
bool isAlpha(char c); //provided
bool isPalindrome(const string & s)
{
if (s.empty()) return true;
int i = 0;
int j = s.size() - 1;
while (i < j)
{
while (!isAlpha(s[i]) && i < j)
{
++i;
}
// i == s.size() - 1;
while (!isAlpha(s[j]) && j > i)
{
--j;
}
if (s[i] != s[j]) return false;
++i;
--j;
}
return true;
}
avatar
j*8
3
第二个while完了要判断下,如果 i>=j 直接break
avatar
l*s
4
还真是。不过complexity好像不变。

【在 j*****8 的大作中提到】
: 第二个while完了要判断下,如果 i>=j 直接break
avatar
j*d
5
不需要吧。直接跑到上面那个总while去判断了。加这一句,不是画蛇添足么?

【在 j*****8 的大作中提到】
: 第二个while完了要判断下,如果 i>=j 直接break
avatar
f*w
6
我个人倾向于内圈不用while,用if判断+continue
avatar
j*8
7
有什么特别的考虑吗?

【在 f*******w 的大作中提到】
: 我个人倾向于内圈不用while,用if判断+continue
avatar
g*j
8
同意。很容易bug

【在 f*******w 的大作中提到】
: 我个人倾向于内圈不用while,用if判断+continue
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。