125 Valid Palindrome
来源:互联网 发布:声卡机架软件下载 编辑:程序博客网 时间:2024/05/20 06:26
之前代码:
public class Solution { public boolean isPalindrome(String s) { if(s==null) return false; if(s.equals("")) return true; int len=s.length(); int left=0, right=len-1; while(left<right){ while((!Character.isLetterOrDigit(s.charAt(left))) && left<right) left++; // 可以使字母和数字,如果是字母就统一换toLowerCase(); while((!Character.isLetterOrDigit(s.charAt(right))) && left<right) right--; char l=s.charAt(left), r=s.charAt(right); if(Character.isLetter(l)) l=Character.toLowerCase(l); if(Character.isLetter(r)) r=Character.toLowerCase(r); if( l != r) return false; left++; right--; } return true; }}// the major thing is the built-in function in java// Character.isLetterOrDigit(); Character.toUpperCase(); Character.toLowerCase();
今天的代码:3 min 完成, 有几个小的typo,主要写得太快了,
public class Solution { public boolean isPalindrome(String s) { int len=s.length(); if(len==0) return true; int left=0, right=len-1; while(left<right){ // when left and right meet, both point to the same char, return true // move left and right util pointing to valid char, in this case letter or digit while( !Character.isLetterOrDigit(s.charAt(left)) && left<right ) left++; while( !Character.isLetterOrDigit(s.charAt(right)) && left<right) right--; // symetric as above // if letter, convert to lower case char l= Character.isLetter(s.charAt(left))?Character.toLowerCase(s.charAt(left)):s.charAt(left); char r= Character.isLetter(s.charAt(right))?Character.toLowerCase(s.charAt(right)):s.charAt(right); if(l!=r) return false; left++; right--; } return true; }}// it is more like that solutino is in my memory, so the code is pretty synthesized and combined. // 题目其实很常见了,属于String字符串处理的一类大问题,常用的方法就是:1. char ch= charAt(index); 2. 一系列 Character类里的已有方法: Character.isLetterOrDigit(ch) 注意方法除了第一个单词不captitalized,其他的但都要capitalized; Character.isLetter(ch); Character.toLowerCase(ch) 等等。。。熟练用好了这几个3分钟就可以完成题目,one time bug free// 还有一点:palindrome就是典型的夹逼过程,夹逼就用while(left<right) 来实现。// 啰啰嗦嗦把过程和细节都写出来,主要因为:1,分析的过程就是模拟跟面试官讲解的过程,快速有一个全局关和整体的解决方案;2,把思路语言话,通常可以有新的启发
0 0
- [125]Valid Palindrome
- LeetCode 125: Valid Palindrome
- LeetCode 125 Valid Palindrome
- LeetCode: Valid Palindrome [125]
- leetcode 125-Valid Palindrome
- [leetcode 125] Valid Palindrome
- 125Valid 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---(125) Valid Palindrome
- Leetcode[125]-Valid Palindrome
- 125Valid Palindrome
- leetcode[125]:Valid Palindrome
- Leetcode# 125 Valid Palindrome
- 2017 CCCC预赛总结
- 使用Swagger2生成spring boot应用RESTful APIs描述文档
- 奇葩的uva102(多次WA后已AC)
- 使用yum安装
- Android设计模式(一)续:LayoutInflater
- 125 Valid Palindrome
- 从游戏设计策划,网络小说写作来训练思维能力——基本思路与方法
- XML学习笔记2
- cassandra高级操作之索引、排序以及分页
- Spring集成Hibernate映射文件的4种方式
- android Sqlite insert command after,data is empty
- UILabel的相关属性设置
- POJ
- 字符串的修改与替换