前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【 关关的刷题日记51】 Leetcode 67. Add Binary

【 关关的刷题日记51】 Leetcode 67. Add Binary

作者头像
WZEARW
发布2018-04-11 16:21:59
5810
发布2018-04-11 16:21:59
举报
文章被收录于专栏:专知专知

关关的刷题日记 52 – Leetcode 125. Valid Palindrome

题目

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.

题目的意思是给定一个字符串,只考虑其中的数字和字母,判断该字符串是否是回文。

思路

思路:设置头尾指针同时向中间遍历字符串,遇到非字母数字的字符需要跳过,判断头尾指针所指的字符是否相等,如果不相等的话,就不是回文。这题目也可以直接用一个函数isalnum来判断是否是字母数字。

代码语言:javascript
复制
class Solution {public:
    bool isPalindrome(string s) {
        if(s.empty() || s.size()==1)
            return true;
        for(int i=0, j=s.size()-1;i<j;)
        {
            //while(!(tolower(s[i])>='a' && tolower(s[i])<='z' || s[i]>='0' && s[i]<='9'))
            while(!(isalnum(s[i])))
                i++;
            //while(!(tolower(s[j])>='a' && tolower(s[j])<='z' || s[j]>='0' && s[j]<='9'))
            while(!(isalnum(s[j])))  
                j--;
            if(i<j)
            {
                if(tolower(s[i])==tolower(s[j]))
                {
                    i++;
                    j--;
                }
                else
                    return false;
            }
        }
        return true;
    }};

人生易老,唯有陪伴最长情,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 专知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 思路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档