7-1 判断回文字符串

7-1 判断回文字符串7-1判断回文字符串(15分)输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。输入样例1:level输出样例1:levelYes输入样例2:1+2=2+1=输出样例2:1+2=2+1=No双指针法#include<s

大家好,又见面了,我是你们的朋友全栈君。

7-1 判断回文字符串 (15分)

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:

输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。
输入样例1:

level

输出样例1:

level
Yes

输入样例2:

1 + 2 = 2 + 1 =

输出样例2:

1 + 2 = 2 + 1 =
No

解法1:前后指针对比

#include<stdio.h>
#include<string.h>
int main(){ 
   
	
	char a[85];
	gets(a);
	int h=0,t=strlen(a)-1,flag=1;
	while(h<t){ 
   
		if(a[h++]!=a[t--]) flag=0;
	}
    printf("%s\n",a);
	if(flag) printf("Yes");
	else printf("No"); 
	return 0;
} 

解法2:折半对比

#include<stdio.h>
#include<string.h>
int main(){ 
   
	
	char a[85];
	gets(a);
	int len=strlen(a),flag=1;
	for (int i = 0; i < strlen(a)/2; i++) { 
   
	    if(a[i] != a[len-i-1]){ 
   
	    	 flag = 0;
	    	 break;
	    }  
	}
  printf("%s\n",a);
	if(flag) printf("Yes");
	else printf("No"); 
	return 0;
} 

解法3:翻转原串

import java.util.Scanner;

public class Main { 
   
    public static void main(String[] args) { 
   


        Scanner scanner = new Scanner(System.in);
        StringBuffer buffer = new StringBuffer();
        String str = scanner.nextLine();
        buffer.append(str);
        System.out.println(str);
        if(str.equals(buffer.reverse().toString())) { 
     //将字符串翻转,和原串比较
            System.out.println("Yes");
        }
        else{ 
   
            System.out.println("No");
        }


    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139842.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Matlab中的plotyy用法总结[通俗易懂]

    Matlab中的plotyy用法总结[通俗易懂]在梳理数据,或者写论文的时候往往需要画出两个纵坐标不同的图,以显现两组数据的不同变化,在这种情况下,一般两组数据的横坐标均是相同的,但是纵坐标确实不是一个数量级的,所以为了更好的表现两组数据的变化趋势,需要用到plotyy函数绘制双纵坐标的二维图,具体用法总结如下:调用格式:1.plotyy(X1,Y1,X2,Y2):以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。2.plotyy(…

  • ipv6双向网关_IPv4_IPv6转换网关·····[通俗易懂]

    IPV4/IPV6转换网关的研究与设计摘要:随着计算机网络应用的飞速进步,现有的IP通信协议(IPv4协议)已展现出众多的问题,如不能适应新的网络应用、地址资源即将耗尽以及对安全性无法保证等。IPv6是继IPv4后出现的新一代通信协议,它的出现为互联网的发展带来了新契机。IPv6的众多优势成为取代IPv4必然的发展。本文从IPv6协议本身出发,阐述了IPv6协议及其与IPv4协议的比较,对目前现有…

  • Echache整合Spring缓存实例讲解「建议收藏」

    Echache整合Spring缓存实例讲解「建议收藏」Echache整合Spring缓存实例讲解

  • CentOS7_装机软件推荐

    CentOS7_装机软件推荐

  • myeclipse8.6激活成功教程_eclipse最新版

    myeclipse8.6激活成功教程_eclipse最新版一、下载地址:https://pan.baidu.com/s/1SoFlyKb9Ylk3sEDXtsA5TA提取码:uent二、安装1、解压后双击.exe文件,然后点击下一步2、修改安装地址,然后下一步,等待安装…

  • we7源码网站_源码论坛

    we7源码网站_源码论坛前言最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号