leetcode6~10题

输入: s = "LEETCODEISHIRING", numRows = 4
输出: "LDREOEIIECIHNTSG"
L     D     R
E   O E   I I
E C   I H   N
T     S     G
开vector,按照Z形输出的顺序压入每个STRING里面即可

 

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
class Solution {
public:
    int reverse(int x) {
        long rev = 0;
        while (x) {
            int pop = x % 10;
            x /= 10;
            rev = rev * 10 + pop;
        }
        return (rev > INT_MAX || rev < INT_MIN) ? 0 : static_cast(rev);
    }
};
 

将字符串转换成整数
#include
#include
int myAtoi(char * str){
    long long i = 0;
    int ret = sscanf(str, "%lld", &i);
    if (ret) {
        if (i > INT_MAX)
            i = INT_MAX;
        else if (i < INT_MIN)
            i = INT_MIN;
    }
    return (int)i;
}
 

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
与第7题差不多,开个ANS=0,低位起逐位读出,ANS*10+最低位值,X/=10,一旦相等就跳出,如果全程都不等就FALSE即可

 

给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
DFS深搜模板题,开两个下标指针一起往后扫,遇到*时讨论一下几种可行的转移即可

你可能感兴趣的:(算法训练)