博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Valid Palindrome
阅读量:4151 次
发布时间:2019-05-25

本文共 1598 字,大约阅读时间需要 5 分钟。

class Solution {public:	bool isPalindrome(string s) {		// Start typing your C/C++ solution below		// DO NOT write int main() function		TransmitString(s);		for (int i = 0, j = s.size()-1; i <= j; ++i, --j)		{			if(s[i] != s[j])				return false;		}		return true;	}	void TransmitString( string& str ) 	{//note: do not let the string move too much		int i, j;		for (i = 0, j = 0; i < str.size(); ++i)		{			if(str[i] >= '0' && str[i] <= '9')			{				str[j++] = str[i];			}			else if (str[i] >= 'a' && str[i] <= 'z')			{				str[j++] = str[i];			}			else if (str[i] >= 'A' && str[i] <= 'Z')			{				str[j++] = str[i]-'A'+'a';			}		}		str = str.substr(0, j);	}};

second time

class Solution {public:    bool isValidChar(char c)    {        if('a' <= c && c <= 'z') return true;        if('A' <= c && c <= 'Z') return true;        if('0' <= c && c <= '9') return true;        return false;    }    char lowerCase(char c)    {        if('A' <= c && c <= 'Z') return c-'A'+'a';        else return c;    }    bool isPalindrome(string s) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        int l = 0;        int r = s.size()-1;        while(l < s.size() && !isValidChar(s[l])) l++;        while(r >= 0 && !isValidChar(s[r])) r--;                while(l < r)        {            if(lowerCase(s[l]) == lowerCase(s[r]))            {                l++;                while(l < s.size() && !isValidChar(s[l])) l++;                r--;                while(r >= 0 && !isValidChar(s[r])) r--;            }            else return false;        }        return true;    }};

转载地址:http://phxti.baihongyu.com/

你可能感兴趣的文章
Jackson Tree Model Example
查看>>
常用js收集
查看>>
如何防止sql注入
查看>>
springmvc传值
查看>>
在Eclipse中查看Android源码
查看>>
Android使用webservice客户端实例
查看>>
[转]C语言printf
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>
C 语言 学习---ComboBox相关、简易“假”管理系统
查看>>
C 语言 学习---回调、时间定时更新程序
查看>>
C 语言 学习---复选框及列表框的使用
查看>>
第十一章 - 直接内存
查看>>
JDBC核心技术 - 上篇
查看>>
一篇搞懂Java反射机制
查看>>
Single Number II --出现一次的数(重)
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
Mysql中下划线问题
查看>>