LeetCode - Valid Palindrome (判断“回文”)
来源:互联网 发布:苏联解体后俄罗斯知乎 编辑:程序博客网 时间:2024/05/18 13:05
最近在刷LeetCode,本博文题目连接:
题目如下:
解答:在提交了N多次之后,终于被Accepted。
总结:发现自己考虑的太不周全了。
1、最初时传进来的str是一个静态变量,不能进行大小写转换,后来加进了str1,str2暂存。
2、再是没有考虑空白字符串
3、考虑的停用符不够。
代码:
var isPalindrome = function (str) { this.str = str; var stopWords = /[\s\,\.\!\?\:\;\@\#\$\%\^\&\*\(\)\-\+\+\_\~\`\\'\\"\[\]\{\}\/\<\>\|\||\……\¥\\]/;//匹配字符,以便后面比较时跳过使用 //var isPr = str.concat(" is a palindrome."); //var notPr = str.concat(" is not a palindrome."); //考虑空字符串时的情况 if (/^[\s*]$/.test(str)) { if (str.length === 1) return true; else if (str.length % 2 === 0) return isPr; //return true; else return notPr; //return false; } //非空字符串情况 while (i <= j) { if (stopWords.test(str[i])) {//若i是stopWords里的符号时,跳过 i++; } if (stopWords.test(str[j])) {//若j是stopWords里的符号时,跳过 j--; } if (!stopWords.test(str[i]) && !stopWords.test(str[j])) {//进行比较 var str1, str2; if (/[A-Z]/.test(str[i])) {//如果str[i]为大写字母,则转换成小写 str1 = str[i].toLowerCase(); } else { str1 = str[i]; } if (/[A-Z]/.test(str[j])) {//如果str[j]为大写字母,则转换成小写 str2 = str[j].toLowerCase(); } else { str2 = str[j]; } if (str1 === str2) {//转换后的字符进行比较 i++; j--; }else {break; } } } if (i > j) //return isPr; return true; else //return notPr; return false; };
结果展示:
完毕。
0 0
- LeetCode - Valid Palindrome (判断“回文”)
- [LeetCode]—Valid Palindrome 回文判断
- (LeetCode)Valid Palindrome --- 判断回文字符串
- Leetcode-680. Valid Palindrome II(判断回文)
- [leetcode]Valid Palindrome (判断回文数 C语言实现)
- leetcode 判断有效字符串是回文串Valid Palindrome
- leetcode 125. Valid Palindrome 回文数的判断
- Valid Palindrome 判断回文字符串
- leetcode:Valid Palindrome 合法回文
- LeetCode (16) Valid Palindrome (回文)
- Valid Palindrome 简单的回文判断
- 判断是否是回文(Valid Palindrome)
- 125. Valid Palindrome (回文字符串判断)
- 【LeetCode】- Valid Palindrome(正确的回文)
- leetcode 刷题:Valid Palindrome(回文字符串)
- leetcode 125. Valid Palindrome | 回文string
- LeetCode Valid Palindrome(验证回文字符串)
- [LeetCode] Palindrome Number & Valid Palindrome - 回文系列问题
- 机房重构之用例图
- 第4周项目4—指向学生类的指针
- 黑马程序员——java中的泛型
- IOS事件传递之hitTest:withEvent
- c语言003---c语言的基本概念
- LeetCode - Valid Palindrome (判断“回文”)
- 解决链接ClickableSpan中点击后与ListView中item的长按冲突的问题
- math,h和cmath.h有什么区别
- 在Spring的环境下使用Spring MVC
- OSMDroid学习
- 操作系统:模拟进程及内存分配
- CentOS 集群安装hadoop-2.6.0 心得
- IOS开发音频与视频
- MFC中调用std::cout