[leetcode] 125. Valid Palindrome
来源:互联网 发布:用mac导出iphone照片 编辑:程序博客网 时间:2024/05/18 03:31
Question:
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
“A man, a plan, a canal: Panama” is a palindrome.
“race a car” is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
Solution:
从左往右遍历直到遇到下一个字母或数字,再从右往左遍历直到遇到下一个字母或数字,顺便处理为小写字母。再进行比较,如果两字符不同则不是回文。如果遍历时,left >= right
则跳出并且认为是回文。
时间复杂度为O(n),空间复杂度为O(1)。
class Solution {public: bool isPalindrome(string s) { if (s.empty()) { return true; } int left = 0, right = s.size()-1; while (left < right) { while (!isAlphaNum(s[left])) { left++; } while (!isAlphaNum(s[right])) { right--; } if (left >= right) { return true; } if (s[left] != s[right]) { return false; } left++; right--; } return true; } bool isAlphaNum(char & ch) { if (ch >= 'A' && ch <= 'Z') { ch = 'a' + ch - 'A'; } return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9'); }};
阅读全文
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
- idea创建springboot项目
- MyEclipse部署Tomcat服务器
- java 多线程实例,自己写的第一个例子,理解什么是多线程,怎么写多线程
- 简单使用
- 【疑问1】java程序中JDBC工具类(采用c3p0配置文件)中的疑问?适合初学者
- [leetcode] 125. Valid Palindrome
- 1287:3n+1中文版(简化版)
- Pipeline学习器流水线
- struct sockaddr,struct sockaddr_in, struct in_addr
- Spring MVC 教程,快速入门,深入分析
- LeetCode--Two Sum
- ubuntu qtdesigner .ui 转.py pycharm以及dtdesigner打开.ui
- void *(*func)(void);上一篇的补充
- Ubuntu 14.04 编译最新版本strace