摘要: 很有意思的一道题,不好想啊。 string getNext(string &s) { char start = s[0]; int count = 0; stringstream ss; for (int i = 0; i < s.size(); i++) { if (start == s[i]) 阅读全文
posted @ 2016-05-25 18:26 牧马人夏峥 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 这题实现起来还是挺麻烦的,就偷懒使用下库函数strtod()。第二个参数表示字符中不是数字的地方,如果后面是空格,则认为其仍是数字,否则不是。 bool isNumber(char *s) { char *endptr; strtod(s, &endptr); if (endptr == s)ret 阅读全文
posted @ 2016-05-25 17:20 牧马人夏峥 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 在一组字符串中找到最长的子串。采用纵向匹配,遇到第一个不匹配的停止。 string longestComPrefix(vector<string> &strs) { if (strs.empty())return " "; //纵向比较 for (int idx = 0; idx < strs[0] 阅读全文
posted @ 2016-05-25 17:02 牧马人夏峥 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 跟上题类似,主要考虑‘*’的匹配问题。如果遇到‘*’,则跳过继续匹配,如果不匹配,则s++,重新扫描。 bool isMatch2(const char *s, const char *p) { if (*p == '*') { while (*p == '*')p++; if (*p == '\0 阅读全文
posted @ 2016-05-25 16:45 牧马人夏峥 阅读(120) 评论(0) 推荐(0) 编辑