leetCode练习(125)
来源:互联网 发布:qq游戏大厅官方mac 编辑:程序博客网 时间:2024/04/26 07:53
题目:Valid Palindrome
难度:easy
问题描述:
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.
解题思路:
使用一头一尾两个指针,反方向判断是否一一满足即可。
代码如下:
public class Solution { public boolean isPalindrome(String s) { if(s==null||s.length()<2){ return true; } int p2=s.length()-1; char c1,c2; for(int i=0;i<s.length()-1;i++){ if(!isvalid(s.charAt(i))){ continue; } c1=s.charAt(i); while(p2>=0&&!isvalid(s.charAt(p2))){ p2--; } c2=s.charAt(p2); if(!issame(c1,c2)) return false; else p2--; } return true; } private static boolean isvalid(char c){if(c>='a'&&c<='z'||c>='A'&&c<='Z'||c>='0'&&c<='9')return true;elsereturn false;}private static boolean issame(char a,char b){if(a<65||b<65){if(a==b) return true;elsereturn false;}else{if(a==b||Math.abs(a-b)==32)return true;else return false;}}}
0 0
- leetCode练习(125)
- leetCode练习(7)
- leetCode练习(9)
- leetCode练习(2)
- leetCode练习(14)
- leetCode练习(3)
- leetCode练习(4)
- leetCode练习(19)
- leetCode练习(18)
- leetCode练习(5)
- leetCode练习(15)
- leetCode练习(20)
- leetCode练习(21)
- leetCode练习(16)
- leetCode练习(17)
- leetCode练习(11)
- leetCode练习(24)
- leetCode练习(22)
- ArcGIS Engine代码段笔记【一】
- TTEFS 透明加密SDK 系统升级。
- Android 使用MediaPlayer播放视频切换后台暂停再恢复互前台继续播放的bug修改
- Android onSaveInstanceState、onRestoreInstanceState保存数据
- 猜字符小游戏中的细节问题以及算法
- leetCode练习(125)
- 为什么高手离不了Linux系统?这就是我的理由。
- ionic2中ThemeableBrowser插件的使用——App内嵌浏览器
- MySQL临时表的简单用法
- For security reasons, WebView is not allowed in privileged processes报错解决
- style.left,style.width与offsetLeft,offsetWidth、scrollLeft,scrollWidth的区别
- DatePicker TimePicker NumberPicker 报ClassCastException
- mybatis批量插入 数据
- java list分页显示 假分页