每日两道算法Day7—回文数,找出字符串中第一个匹配的下标

第一问:回文数

解题思路:将数字转换为字符串,利用双指针进行遍历比较,当两个指针走在同一个下标的时候就停止,说明这个数就是回文数。

c 复制代码
bool isPalindrome(int x) 
{
    char arr[1024];//开辟一个空间
    sprintf(arr,"%d",x);//把十进制的x转换为数组存进去,并自动添加'\0'
    int right=0;
    right=strlen(arr)-1;//strlen求出字符串个数不包含'\0'然后-1找到末尾下标
    int left=0;
    while(left<right)//比较,当两个相等的时候就表名已经是回文
    {
        if(arr[left]!=arr[right])//途中不符合就停止
            return false;
        left++;
        right--;
    }
    //走出来就表明一定是回文
    return true;
}

第二问:找出字符串中第一个匹配的下标

解题思路:利用库函数strstr进行查找,如果查找到就返回第一个下标的地址,否则返回NULL,再进行遍历遍历查找返回下标。

c 复制代码
int strStr(char* haystack, char* needle) 
{
    char* cur=strstr(haystack,needle);
    if(cur==NULL)
    {
        return -1;
    }
    int count=0;
    char *tmp=haystack;
    while(tmp!=cur)
    {
        tmp++;
        count++;
    }
    return count;
}
相关推荐
PascalXie8 分钟前
地面机器人VSLAM技术调研与实现方案参考:算法、硬件平台与工程落地
算法·机器人
aqiu1111112 小时前
【C++算法打怪专栏】8. 字符串转换整数 (atoi)
开发语言·c++·算法
沐晓时光10 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
信奥卷王11 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵11 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
SuperByteMaster12 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
徐小黑ACG12 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z13 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛13 小时前
cpp学习笔记--常量指针
java·开发语言·算法