每日一题&&学习笔记

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 

示例 1:

输入: s = "A man, a plan, a canal: Panama"
输出:true
解释:"amanaplanacanalpanama" 是回文串。

示例 2:

输入:s = "race a car"
输出:false
解释:"raceacar" 不是回文串。

示例 3:

输入:s = " "
输出:true
解释:在移除非字母数字字符之后,s 是一个空字符串 "" 。
由于空字符串正着反着读都一样,所以是回文串。

提示:
  • 1 <= s.length <= 2 * 105
  • s 仅由可打印的 ASCII 字符组成

在解决这道题之前,我们先来认识几个<ctype.h>里面的库函数,isalpha,isalnum,islower,isupper。

isalpha()函数用来判断一个字符是否为字母,如果是字母则返回非零,否则返回零。
isalnum()函数用来判断一个字符是否为数字或字母,是则输出非零,否则输出零。
islower()函数用来判断一个字符是否为小写字母。
ispuuer()函数用来判断一个字符是否为大写字母。

这道题的要求是将所有大写字符转换为小写字符、并移除所有非字母数字字符,因此要用到islower()函数和isalnum()函数。有了这个之后,我们就可以使用reverse()函数或者双指针验证回文

class Solution {
public:
    bool isPalindrome(string s) {
         string str;
         for(char c:s){
            if(isalnum(c)){
                str+=tolower(c);
            }
        }
       string str1=str;
       reverse(str.begin(),str.end());
       return str1==str;

    }
};

大三学生如果准备考研,制定一个合理的学习计划至关重要。下面是一个建议的大三计算机专业考研学习计划,你可以根据自己的实际情况进行调整: **每天的学习时间分配(假设总时间7-8小时):** 1. **早晨(6:30-8:00):** 早起阅读英语(词汇和阅读理解),或背诵专业课知识点。 2. **上午(8:30-12:00):** 主攻数学或专业基础课程,如数据结构、算法、操作系统等。每门课程分段学习,注重理解和做题。 3. **午休(12:00-13:30):** 合理休息,吃午饭和短暂午睡,为下午保持精力。 4. **下午(13:30-17:00):** 进行专业课复习,如计算机网络、数据库原理等。同时做一些习题巩固。 5. **晚上(17:30-20:00):** 分析历年考研真题,或进行模拟考试。同时注意政治、英语等公共科目的复习。 6. **晚上(20:00-21:30):** 总结一天的学习,整理笔记,回顾重点难点。 7. **晚间(21:30-22:00):** 放松娱乐,比如阅读、运动或听音乐,帮助缓解压力。 **每周的计划(周末留出更多时间进行整体复习和模拟考试):** - 周末:系统复习本周所学内容,做一套完整的模拟试题,并分析错题。 **注意事项:** 1. **保持健康生活**:保证充足的睡眠,均衡饮食,适度运动。 2. **定期测试**:定期进行自我测试,了解进度和薄弱环节。 3. **调整节奏**:根据学习效率灵活调整计划,遇到难题时适当延长学习时间。 4. **保持兴趣**:对考研的热情和兴趣是持久学习的关键。 5. **心理调适**:保持积极心态,学会应对压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值