给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。
来源:互联网 发布:iphone4s支持4g网络吗 编辑:程序博客网 时间:2024/05/28 06:07
本题源自LeetCode
-----------------------------------------------------------------------
先将字符串全部转换为小写字符, 从两端扫描字符串。
暴力解决:
bool isPalindrome(string s) { if(s.length()==0) return true; transform(s.begin(), s.end(), s.begin(), ::tolower); int start=0; int end=s.length()-1; while(start<end){ if(IsChar(s[start])&&IsChar(s[end])){ if(s[start]!=s[end]) return false; start++; end--; }else if(!IsChar(s[start])&&IsChar(s[end])){ start++; }else if(IsChar(s[start])&&!IsChar(s[end])){ end--; }else{ start++; end--; } } return true; } bool IsChar(char s){ if((s>='a'&&s<='z')||(s>='0'&&s<='9')) return true; return false; }
2 利用快排的思想 从两端扫描,不是字符和数字的直接跳过
bool isPalindrome(string s) { if(s.length()==0) return true; transform(s.begin(), s.end(), s.begin(), ::tolower); int start=0; int end=s.length()-1; while(start<end){ while(start<end&&!IsCharOrNumber(s[start])) start++; while(start<end&&!IsCharOrNumber(s[end])) end--; if(start<end && s[start]!= s[end]) return false; start++; end--; } return true; } bool IsCharOrNumber(char s){ if((s>='a'&&s<='z')||(s>='0'&&s<='9')) return true; return false; }
阅读全文
0 0
- 给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。
- leetcode_java.T020_ValidParentheses 给定一个只包含(‘, ‘)’, ‘{‘, ‘}’, ‘[’ 和‘]’的字符串,验证它是否是有效的。
- 确定两串乱序同构 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。 给定一个string stringA和一个
- 【华为面试题】给定一个数字(整数),判断它是否回文
- 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。 给定一个string stringA和一个string stri
- 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。 给定一个string stringA和一个string stri
- //例子5.4 输入一个字符,判断它是否大写字母,如果是,将它转换成小写字母;
- 输入一个字符,判断它是否为小写字母
- 输入一个数,判断它是否是回文数。
- 判断一个字符是否是数字、还是大小写字母
- 输入一个字符,判断它是否是大写字母。
- 给定一个数字,怎么判断它是不是回文形式的?
- 输入一个字符判断它是否为大写字母,如果是把它变为小写字母,如果是小写字母则不变
- 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
- 确定字符到底是字母还是数字
- 输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符.cpp
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 给定一个字符串s由大小写字母和空白字符组成,返回字符串中最后一个字的长度。 如果最后一个字不存在,则返回0。
- pg(hgdb)权限实验
- layer获取textarea的值
- python数据可视化——利用pyplot绘制折线图和散点图
- IOS计算UIWebView的实际高度
- JS组件系列——两种bootstrap multiselect组件大比拼
- 给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。
- vue 项目 使用sass
- 文章标题js将网页表格导出为excel表格(兼容各种浏览器)
- Java中遍历Map对象的几种方法
- html5API之web存储
- 如何使用HTML&CSS写一个三角形。
- Node 研究体会
- P3图片导致iOS9.3以下崩溃问题
- 接口测试用例小结