415.Valid Palindrome-有效回文串(容易题)
来源:互联网 发布:unity3d 关闭垂直同步 编辑:程序博客网 时间:2024/04/27 02:24
有效回文串
题目
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
注意事项
你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。
在这个题目中,我们将空字符串判定为有效回文样例
“A man, a plan, a canal: Panama” 是一个回文。
“race a car” 不是一个回文。挑战
O(n) 时间复杂度,且不占用额外空间。
题解
同样是双指针问题,需注意的是此类问题需要明确那种字符被视为有效回文,如本题就只需处理数字和字母即可。
public class Solution { /** * @param s A string * @return Whether the string is a valid palindrome */ public boolean isPalindrome(String s) { int i = 0; int j = s.length() - 1; s = s.toLowerCase(); while (i < j) { while (!((s.charAt(i) >= 'a' && s.charAt(i) <= 'z') || (s.charAt(i) >= '0' && s.charAt(i) <= '9')) && i < j) { i++; } while (!((s.charAt(j) >= 'a' && s.charAt(j) <= 'z') || (s.charAt(j) >= '0' && s.charAt(j) <= '9')) && i < j) { j--; } if (i < j) { if (s.charAt(i) != s.charAt(j)) { return false; } i++; j--; } } return true; }}
Last Update 2016.9.16
0 0
- 415.Valid Palindrome-有效回文串(容易题)
- Valid Palindrome有效回文
- LeetCode | Valid Palindrome(有效的回文串)
- [C++]Valid Palindrome 有效回文
- leetcode 判断有效字符串是回文串Valid Palindrome
- LeetCode 125 Valid Palindrome(有效回文)(*)
- 125. Valid Palindrome(回文)
- Valid Palindrome 有效回文串,只包括字母数字,不分大小写
- Valid Palindrome 检查是否是有效的回文 @LeetCode
- leetcode 125. Valid Palindrome-有效回文|双指针
- 423.Valid Parentheses-有效的括号序列(容易题)
- 判断是否是回文串(Valid Palindrome)
- Valid Palindrome 合法的回文串
- 【LeetCode】- Valid Palindrome(正确的回文)
- leetcode 刷题:Valid Palindrome(回文字符串)
- 判断是否是回文(Valid Palindrome)
- 125. Valid Palindrome (回文字符串判断)
- Valid Palindrome 回文
- stl remove 和 erase
- cf437C The Child and Toy 贪心
- emplace_back() 和 push_back 的区别
- nginx 403 forbidden错误的解决
- 面试题001
- 415.Valid Palindrome-有效回文串(容易题)
- shell(1)
- STL List deque(待总结)
- maven私库nexus3安装及使用
- java求一维数组的最小值
- C++ "extern c" 关键字(待总结)
- xStream完美转换XML、JSON
- 第一次参加程序员问题讨论
- 求圆上点的坐标