美文网首页
判断回文串(C)

判断回文串(C)

作者: 陈_振 | 来源:发表于2018-09-21 10:50 被阅读0次
#include <stdio.h>
#include <string.h>

int isParlindromeString(char a[]) {
    int i, len, mid, next, top;
    
    len = (int)strlen(a);
    // 求字符串中点
    // (eg:奇数个[1,2,3],mid=0;偶数个[1,2,3,4], mid=1)
    mid = len / 2 - 1;
    
    char temp[mid+1];
    top = 0;
    
    // 将mid前的字符依次入栈
    for (i = 0; i <= mid; i++) {
        temp[top] = a[i];
        top++;
    }

    // 判断字符串的长度是奇数还是偶数
    // 并找出需要进行字符匹配的起始下标
    if (len % 2 == 0) {
        next = mid + 1;
    } else {
        next = mid + 2;
    }
    
    for (i = next; i <= len - 1; i++) {
        top--;
        if(a[i] != temp[top]) {
            break;
        }
    }
    
    if (top == 0) {
        return 1;
    } else {
        return 0;
    }
}

相关文章

  • 判断回文串(C)

  • 重拾算法Day06-栈

    回文串判断

  • 最长回文子串

    判断是否是回文字符串 获取所有可能子串 获取所有回文子串 进阶

  • 判断回文串

    1.题目描述:读入一行字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串(即从左向右拼写与从右向左拼...

  • 2020-04-26

    题目:判断是不是回文字符串

  • leetcode131 分割回文串

    题目 分割回文串 分析 简单dfs问题,关键点在于如何快速的判断回文串。这里我们就可以预先找出所有的回文串,再每次...

  • 判断给定字符串是否为回文串

    题目:判断规定字符串是否为回文串。 首先我们应该理解什么是回文串。回文串就是从正面读和反面读是一样的字符串,比如l...

  • 字符串问题合集

    1. 验证回文串 题目描述: 输入一个字符串,只关注字母和数字,判断字符串是否为回文串。空字符串也可以认为是回文串...

  • 回文串划分 Palindrome Partition

    此题为动态规划。 问题描述看这里 转移方程式如下 注意:任何重复判断回文串的方案都会造成超时。必须要缓存回文串判断...

  • C# 判断字符串是否是回文字符串(单链表)

    回文字符串: ABCDCBA ABCDDCBA 两种都属于回文字符串; 如何判断一个字符串是否是否回文: 使用快慢...

网友评论

      本文标题:判断回文串(C)

      本文链接:https://www.haomeiwen.com/subject/solanftx.html