解析《酷我》的 json 格式内容遇到问题(使用单引号)。
本来是打算直接用现成的解决方案来处理,结果发现 h2ooooooo 的答案 在遇到转义单引号的时候会无限循环;以及最高赞 NikiC 的正则地狱 让我看得头大(看评论好像对嵌入内容处理有毛病?),于是做了个简单的 php 函数把字符串改成用双引号的标准 json 格式。
解析《酷我》的 json 格式内容遇到问题(使用单引号)。
本来是打算直接用现成的解决方案来处理,结果发现 h2ooooooo 的答案 在遇到转义单引号的时候会无限循环;以及最高赞 NikiC 的正则地狱 让我看得头大(看评论好像对嵌入内容处理有毛病?),于是做了个简单的 php 函数把字符串改成用双引号的标准 json 格式。
写的比较随意,在面试的 OJ 系统里还忘了判定空字符的情况…
bool is_digit(const char c)
{
return (c >= '0') && (c <= '9');
}
bool parse_number(std::string& str, int& val)
{
const char* c = str.c_str();
bool neg = false;
if (*c == '-') {
neg = true;
c++;
}
// empty string
if (!*c)
{
return false;
}
val = 0;
while(*c)
{
if (!is_digit(*c))
{
return false;
}
val = val * 10 + (*c - '0');
c++;
}
if (neg)
{
val = -val;
}
return true;
}
面试的题只有一个,就是在不使用 std::list 的情况下实现一个简单的链表。