每天一道leetcode-125验证回文串

辣条走起,每月的leetcode刷题99元奖励就靠大家啦~

前言

2018.11.27号打卡今天的题目leetcode125

昨天的题解

题目

每天一道leetcode-125验证回文串

题目详述

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama"

输入: "race a car"

题目详解

思路

  • 首先把字母变成小写,然后利用ASC码把数字和小写字母找到,并加到新的字符串中

  • 然后对于这个新的字符串,一个指针在前,一个指针在后,依次比较两者是否相等;

代码(先发图片,再放代码,测试一下,看看会不会乱码)

640?wx_fmt=png

 1class Solution {
 2    public boolean isPalindrome(String s) {
 3        s = s.toLowerCase();
 4        char [] charArray = s.toCharArray();
 5        String temp = "";
 6        for(int i=0;i<charArray.length;i++)
 7        {
 8            if( ((int)charArray[i] >= 48 && (int)charArray[i] <= 57) || ((int)charArray[i] >= 97 && (int)charArray[i] <= 122))
 9            {
10                temp += charArray[i];
11            }
12        }
13        char [] resultArray = temp.toCharArray();
14        int begin = 0;int end = resultArray.length - 1;
15        while(begin < end)
16        {
17            if(resultArray[begin] == resultArray[end])
18            {
19                begin++;
20                end--;
21            }else{
22                return false;
23            }
24        }
25        return true;
26     }
27}

代码讲解

  • 3-4变小写,字符串变字符数组

  • 6-12行 利用ASC码找到数字和小写字母的字符,加到新的字符串temp;

  • 15-24一个从头开始一个从尾巴开始,比较是否相等,不相等直接返回falas,都相等true

2018.11.27号打卡

作者乔戈里亲历2019秋招,哈工大计算机本硕,百度java工程师,欢迎大家关注我的微信公众号:程序员乔戈里,公众号有3T编程资源,以及我和我朋友(百度C++工程师)在秋招期间整理的近200M的面试必考的java与C++面经,并有每天一道leetcode打卡群与技术交流群,欢迎关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值