数据结构与算法练习53

验证回文串

在这里插入图片描述

解题思路:

双指针法。主要注意把字母全换成一种格式再比较,并且可能是符号的时候要跳过。

代码:

        public bool IsPalindrome(string s)
        {
            s=s.ToLower().Replace(" ", "");//要区分大小写,所以将其全部转换为小写字母,再将s中所有空格去掉。
            int left = 0;           
            int right = s.Length-1;
            while(left<right)
            {
                while (s[left] > 'z' || s[left] < 'a' && s[left] > '9' || s[left] < '0'&&left<right)
                    left++;
                while (s[right] > 'z' || s[right] < 'a' && s[right] > '9' || s[right] < '0'&&right>left)
                    right--;//当字符不是字母也不是符号的时候跳过。
                if (s[left] != s[right])
                    return false;
                left++;
                right--;
            }
            return true;//只要能出来一定是回文。
        }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值