LeetCode 125. Valid Palindrome
来源:互联网 发布:淘宝卖家常用工具 编辑:程序博客网 时间:2024/06/09 20:46
题意
判断一个字符串是否是回文串,串中只取数字或者字母,大写和小写字母按相同计算
思路
思路一:遍历字符串,将数字和字母提取出来一个新的字符串,然后遍历新的字符串来判断是否是回文串。这种方法多出了
思路二:定义两个指针 L, R,分别从开始和最后的点开始遍历,每次取符合条件的字符,然后判断,这样没有额外的空间复杂度
代码
思路一:
class Solution {public: bool isPalindrome(string s) { string str = ""; int len = s.length(); int lenStr = 0; for(int i = 0; i < len; i++){ if((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= '0' && s[i] <= '9')){ str += s[i]; lenStr++; } else if(s[i] >= 'A' && s[i] <= 'Z'){ str += (s[i] - 'A' + 'a'); lenStr++; } } for(int i = 0; i < lenStr / 2; i++){ if(str[i] != str[lenStr - i - 1]){ return false; } } return true; }};
思路二:
class Solution {public: bool isPalindrome(string s) { int len = s.length(); int l = 0, r = len - 1; while(l < r){ while(l < r){ if((s[l] >= 'a' && s[l] <= 'z') || (s[l] >= '0' && s[l] <= '9') || (s[l] >= 'A' && s[l] <= 'Z')){ if(s[l] >= 'A' && s[l] <= 'Z'){ s[l] = s[l] - 'A' + 'a'; } break; } l++; } while(r > l){ if((s[r] >= 'a' && s[r] <= 'z') || (s[r] >= '0' && s[r] <= '9') ||(s[r] >= 'A' && s[r] <= 'Z')){ if(s[r] >= 'A' && s[r] <= 'Z'){ s[r] = s[r] - 'A' + 'a'; } break; } r--; } if(s[l] != s[r]){ return false; } l++; r--; } return true; }};
阅读全文
0 0
- [LeetCode]125.Valid Palindrome
- LeetCode 125. Valid Palindrome
- [Leetcode] 125. Valid Palindrome
- 【LeetCode】125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- Leetcode 125. Valid Palindrome
- 125. Valid Palindrome LeetCode
- 【LeetCode】125. Valid Palindrome
- Leetcode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode *** 125. Valid Palindrome
- 【leetcode】125. Valid Palindrome
- [leetcode] 125. Valid Palindrome
- leetcode-125. Valid Palindrome
- LeetCode-125.Valid Palindrome
- leetcode 125. Valid Palindrome
- 第三方开源库:页面状态切换布局
- HTTP常见状态码
- Ubuntu(17.04)使用过程中遇到的问题以及解决方法
- Android之Adapter用法总结
- pop到没有入栈的控制器
- LeetCode 125. Valid Palindrome
- sort()函数使用小结
- Error running context: 由于目标计算机积极拒绝,无法连接。
- spring_spring+JDBC整合开发
- linux下分析Java程序内存汇总
- WebSocket实现前后端消息推送
- 微信 iOS 收款到帐语音提醒开发总结
- VOC2007基本信息
- any-----安全存储任意类型