给你一个字符串 s,找到 s 中最长的回文子串。(试题来源力扣)
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
回文的意思例如:上海自来水来自海上.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//求最长回文子串
int judgeDrome(char* s, int left, int right, int* in) {//判断两个相同字符间是否能构成回文
int temp = right + 3 - left;//假设可以构成回文,直接赋值长度
while (left < right) {//进行判断
if (s[left] == s[right]) {
left++;
right--;
}
else {
*in = 0;
return 1;//如果不能构成回文直接返回1;
}
}
return temp;//如果循环完则可以构成回文,则返回相应长度
}
char* longestPalindrome(char* s) {
//用来对判断回文函数进行传参
int left_1 = 0;
int right_1 = 0;
//用来存储数组长度
int right = 0;
//中转变量
int temp = 0;
int temp_1 = 1;
int temp_2 = 0;
int temp_in = 0;
if (s == NULL) {
return 0;
}
while (s[right] != '\0') {//循环计算出字符数组长度
right++