l****s 发帖数: 75 | 1 看了你原来的代码,改了改。挺好用的。谁还能帮忙再优化一下?
char* skipSpace(const char *s)
{
while (*s == ' ' || *s == 't')
{
++s;
}
return const_cast(s);
}
int getNumDigits(const char *s)
{
int num = 0;
while (*s >= '0' && *s <= '9')
{
++s;
++num;
}
return num;
}
bool isNumber(const char *s)
{
if (!s) return false;
s = skipSpace(s);
if (*s == '+' || *s == ... 阅读全帖 |
|
l****s 发帖数: 75 | 2 少了一行。
class Solution {
private:
void skipSpace(const char *& s)
{
while (*s == ' ' || *s == 't')
{
++s;
}
}
int getNumDigits(const char *s)
{
int num = 0;
while (*s >= '0' && *s <= '9')
{
++s;
++num;
}
return num;
}
public:
bool isNumber(const char *s) {
if (!s) return false;
skipSpace(s);
if (*s == '+' || *s == '-')
{
++s... 阅读全帖 |
|
l****s 发帖数: 75 | 3 我写了一遍。正则的太麻烦了。
还是楼主的思路好!再贴一下:
class Solution {
private:
void skipSpace(const char *& s)
{
while (*s == ' ' || *s == 't')
{
++s;
}
}
int getNumDigits(const char *s)
{
int num = 0;
while (*s >= '0' && *s <= '9')
{
++s;
++num;
}
return num;
}
public:
bool isNumber(const char *s) {
if (!s) return false;
skipSpace(s);
if (*s == '+' || *s == '-')
... 阅读全帖 |
|
l****s 发帖数: 75 | 4 我写了一遍。正则的太麻烦了。
还是楼主的思路好!再贴一下:
class Solution {
private:
void skipSpace(const char *& s)
{
while (*s == ' ' || *s == 't')
{
++s;
}
}
int getNumDigits(const char *s)
{
int num = 0;
while (*s >= '0' && *s <= '9')
{
++s;
++num;
}
return num;
}
public:
bool isNumber(const char *s) {
if (!s) return false;
skipSpace(s);
if (*s == '+' || *s == '-')
... 阅读全帖 |
|