[LeetCode]Valid Palindrome
来源:互联网 发布:睿至大数据的骗局 编辑:程序博客网 时间:2024/06/05 00:19
题目:给定一个字符串,判断字符串是否为回文串(只考虑字符和数字,忽略大小写)
算法:设置两个索引,分别从两端向中间扫描,扫描的时候忽略字符和数字以外的一切。
需要注意的是,空字符串也是回文串,而且因为只考虑字符和数字,所以“*/*-”被视为空字符串,所以被认为是回文串
public class Solution { /** * Check if string is palindrome. * <p>Empty String is palindrome, * because palindrome only consider alphanumeric characters, * so any string like "*-+*" is consider to be palindrome. * @param s * @return */ public boolean isPalindrome(String s) { if (null == s) { return false; } if (s.equals("")) { return true; } boolean isPalindrome = true; int iHead = 0; int iTail = s.length() - 1; char[] strs = s.toLowerCase().toCharArray(); while (iHead <= iTail) { while (iHead<strs.length && !Character.isLetter(strs[iHead]) && !Character.isDigit(strs[iHead])) { ++iHead; } while (iTail >= 0 && !Character.isLetter(strs[iTail]) && !Character.isDigit(strs[iTail])) { --iTail; } if (iHead > iTail) { break; } else if (strs[iHead] != strs[iTail]) { return false; } ++iHead; --iTail; }// end of while return isPalindrome; }}
1 0
- [Leetcode] Valid Palindrome
- Leetcode: Valid Palindrome
- leetcode 55: Valid Palindrome
- [LeetCode] Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode - Valid Palindrome
- [leetcode]Valid Palindrome
- [LeetCode]Valid Palindrome
- [Leetcode]Valid Palindrome
- LeetCode-Valid Palindrome
- [leetcode] Valid Palindrome
- LeetCode 125: Valid Palindrome
- LeetCode - Valid Palindrome
- leetcode之Valid Palindrome
- LeetCode | Valid Palindrome
- [leetcode]Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode题解:Valid Palindrome
- 并查集数据结构java源码
- 微信公众帐号开发教程第5篇-各种消息的接收与响应
- Java里面的赋值关系
- VS2008环境下配置opencv2.3.1
- vim使用ctags报“E257: cstag: tag not found”解决方案
- [LeetCode]Valid Palindrome
- 微信公众帐号开发教程第6篇-文本消息的内容长度限制揭秘
- CodeForces 361B
- HBase 简介-1
- 微信公众帐号开发教程第7篇-文本消息中换行符的使用
- Avr128 看门狗设置
- 【算法系列】回文数算法
- Unity3D脚本--常用代码集
- 最短路径算法