判断是否为回文字符串

//字符串处理  回文串
#include<iostream>
#include<string.h>
using namespace std;
const int maxn=256;
bool judge(char str[]) {
	int len =strlen(str);
	for(int i=0; i<len/2; i++) {
		//枚举字符串的前一半
		if(str[i] !=str[len-1-i]) {
			return false;
		}
	}
	return true;
}
int main() {
	char str[maxn];
	while(gets(str)) {
		//输入字符串
		bool flag=judge(str);
		if(flag==true) {
			cout<<"yes"<<endl;
			break;
		}
		else
		{
			cout<<"no"<<endl;
			break;
		}
	}
	return 0;
}

  

原文地址:https://www.cnblogs.com/chuxinbubian/p/11573087.html

时间: 2024-08-09 22:35:13

判断是否为回文字符串的相关文章

判断是否是回文字符串(Java实现)

1.回文的定义:“回文数”就是正读倒读都一样的整数.如奇数个数字:98789,这个数字正读是98789 倒读也是98789.偶数个数字3223也是回文数.字母 abcba 也是回文. 2. 判断一个字符串是否是回文字符串(Java实现) 1 public class Test4 { 2 public static boolean isHuiWen(String text) { 3 int length = text.length(); 4 for (int i = 0; i < length /

(C语言)回文字符串的判断

问题描述: 判断一个字符串是否为回文字符串. 程序分析: 回文字符串: (1)是一种特殊的字符串,有着不一样的特点.整个字符串中的每个元素的首尾是相同的,并且内容关于中间"对称". (2)写程序的时候,写一个函数,并且用指针实现判断功能,最后再调用这个函数. (3)在写这个函数的时候,我在主函数里传入一个字符串可以用scanf也可以用gets函数.这个时候如果我想要连续判断字符串是否为回文字符串的时候,我写了一个while循环,这个时候,如果我运用gets这个函数来传入我要判断的字符串

(c语言)回文字符串的判断,gets和scanf

问题描述: 判断一个字符串是否是回文字符串. 程序分析: 回文字符串: 回文字符串是指一个字符中的最高位与最低位的字符是一样的,次高位和次低位上的字符是一样的,以此类推.同时,值得注意的是单个字符,或者多个重复的字符也是回文字符串. (1)定义一个判断回文数的函数,按照上面给出的回文数的定义,我们进行判断. (2)本程序在主函数传入字符串的过程中发现了用gets函数与用scanf函数的不一样之处.我想让这个程序在一个while循环的控制下可以判断多个字符串再结束.这时候如果用gets不断的读取s

131. 132. Palindrome Partitioning *HARD* -- 分割回文字符串

131. Palindrome Partitioning Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s. For example, given s = "aab",Return [ ["aa","b"], ["

回文字符串问题

回文字符串问题 一.动态规划法 定义boolean型的 p[i][j],为 Si 到 Sj 是否为回文,true 说明 Si 到 Sj 是回文字符串 则有,P[i,j] = (P[i + 1, j - 1] && Si ==Sj) 初始条件p[i, i] = true, p[i,i+1] = Si==Si+1 动态规划的思想是首先判断相邻的字符串是否是回文,然后继续判断连续的三个字符是否是回文,然后是四个,-,直到判断完整个字符串 时间复杂度O(n2),空间复杂度O(n2) 代码实现: p

Leetcode-680(回文字符串)

1.题目 可以删除一个字符,判断是否能构成回文字符串.: Input: "abca" Output: True Explanation: You could delete the character 'c'. 2.代码实现: class Solution(object): def validPalindrome(self, s): """ :type s: str :rtype: bool """ p1, p2 = 0, le

Java 判断回文字符串有多少和其中的最大字符串

一.简介代码功能 该代码的功能可以实现对任意的一段字符串进行判断是否有回文,回文有哪些,和其中的最大回文. 二.代码部分 1.全局变量 1 static String hws = ""; 2 static int num = 0; 3 static String[] hw; 2.创建数组用于保存回文 1 /** 2 * 创建数组保存所有的回文 3 * 4 * @return 返回一个String类型的数组 5 */ 6 public static String[] createHw()

golang 递归判断回文字符串

判断回文字符串是个比较经典的问题. 思路就是拿第一个字符和最一个字符比较,如果不等退出,相同的话继续刚刚的过程,直到第一个字符和最后一个字符相遇或者他们的距离为1时.说明他们是回文字符串. 下面的代码会忽略空白字符 如"1   1  2 1"会让为是回文字符串. golang package main import (     "fmt"     "os"     "strings"     "unicode/utf

判断一个数是否为回文数,字符串是否为回文字符串

使用C语言编写程序 判断一个数是否为回文数.(ps:回文数也是一个数字,数字的特点是正反序是同一个数字,如12321,3443就是回文数). 要判断该数字是否为回文数,可以通过模除得到该数的反序数字,进行比较是否相等来判读. 具体实现如下: void Practice() { int num, value, flag, var; value = 0; flag = 1; scanf("%d", &num); var = num; while(num) {//value存储num