遍历 Valid Palindrome
来源:互联网 发布:淘宝成都客户信息购买 编辑:程序博客网 时间:2024/06/12 16:24
思路:
时间复杂度O(N),空间复杂度O(N)。
class Solution {public: bool isPalindrome(string s) { if(s.empty()) return true; vector<char> v; for(int i = 0; i < s.size(); ++i) { if(isalnum(s[i])) { if(isalpha(s[i])) v.push_back(tolower(s[i])); else v.push_back(s[i]); } } int size = v.size(); for(int i = 0; i < size/2; ++i) { if(v[i] != v[size-i-1]) return false; } return true; }};
优化:
时间复杂度O(N),空间复杂度O(1)。
class Solution {public: bool isPalindrome(string s) { int start = 0; int end = s.size() - 1; while(start < end) { while(start<end && !isalnum(s[start])) start++; while(end>0 && !isalnum(s[end])) end--; if(isalpha(s[start]) && tolower(s[start]) != tolower(s[end])) return false; if(isdigit(s[start]) && s[start] != s[end]) return false; start++; end--; } return true; }};
0 0
- 遍历 Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- valid palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Valid Palindrome
- Invalidate
- 《剑指Offer》学习笔记--面试题57:删除链表中重复的结点
- coocs2dx-lua在XCode开发时lua和资源热更新问题解决办法
- VC常用数据类型使用转换
- Win32线程
- 遍历 Valid Palindrome
- spring+mybatis的优缺点
- VC中句柄、指针、ID之间的转换
- Crossing Rivers
- c++_操作符重载
- 第11周 项目一-储存班长信息的学生类
- VC控件坐标与屏幕坐标
- 百度全面开放HTTPS之我见
- xampp apache无法启动解决方法