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");
        }


    }

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stm32f103c8t6电压采集adc_ADC电压采样显示

    stm32f103c8t6电压采集adc_ADC电压采样显示STM32F103+ADC采集实时电压+LCD1602A显示前言代码前言刚开始学习STM32,用的是开发板是野火的指南者,这款板子网上资源很多。在学习ADC和LCD部分时,想利用手头仅有的LCD1602A进行显示电压,经过不断调试后,就有如下代码。代码main.c//Anhighlightedblockvarfoo=’bar’;…

    2022年9月22日
    3
  • 推荐top10的免费下载激活成功教程软件的网站

    推荐top10的免费下载激活成功教程软件的网站Z2ER资源网站Windows绝赞应用爱软客|专注常用软件绿色版、优化版、便携版精品绿色便携软件PortableAppC开心软件园-软件资讯、下载及使用交流Yanu-分享优秀、纯净、绿色、实用的精品软件。ChromeGAE唯一官方网站首页-大软坊-绿色数字未来|DigitalFuture产品类别Windows|极致分享Uptodow…

    2022年10月13日
    4
  • C语言-函数-递归数列

    C语言-函数-递归数列题目:递归数列类别函数与递归程序类型:代码片段时间限制:2S内存限制10000Kb问题描述一个数列A定义如下A(1)=1,A(2)=1/(1+A(1)),A(3)=1/(1+A(2)),……A(n)=1/(1+A(n-1))。定义一个函数function用来计算数列的第第n项的值,函数声明如下:doublefunction(intn);输入说明:输入为1个…

    2025年10月28日
    3
  • 关于random()跟nextInt()方法过不了公司安评测试「建议收藏」

    关于random()跟nextInt()方法过不了公司安评测试「建议收藏」手上的项目最近过不了公司的安平测试,报告处理啊之后,发现问题竟然处在nextInt()跟random()两个方法上面,具体不通过的原因如下:大概意思就是,这两个系统自带的方法会导致安全信息泄露,因此禁止。然后我就进去查看具体代码,发现如下:没有进行任何的安全加密,只是验证码生成随机遮掩线条。安评测试的逻辑估计是只要调用这个方法都是不安全的,呵呵!!崩溃了,在线等C友建议如何改善了!…

    2022年7月21日
    23
  • docker里镜像用ipv6无法访问_虚拟服务器端口设置

    docker里镜像用ipv6无法访问_虚拟服务器端口设置前言我有一个朋友,他在Dev和Test服务器用Docker搭建了Redis供项目使用,然后今天Test环境的Redis端口访问不通了,在服务上可以正常连接,真是离了个大齐,让我们试试排查排查问题;正文端口检测lsof已确认在本地用telnetip6381访问不通,那就上服务上看看端口情况DevTestDev环境同时映射到Ipv6和Ipv4端口,Test环境仅映射到Ipv6,那基本上就可以断定是环境问题了容器状态dockerps既然端口映射

    2022年8月31日
    5
  • 用MATLAB GUI做一个简单的绩点计算界面

    用MATLAB GUI做一个简单的绩点计算界面本文主要记录如何用MATLAB自带的GUI功能做一个绩点计算界面。并以此来简单介绍一下MATLABGUI的使用过程。完整代码见:https://github.com/ZhouJiaHuan/compute-GPA-master启动guide工具箱guide是MATLAB用来制作GUI界面的工具性,我们只要在MATLAB命令窗口中输入命令guide即可打开GUI制作界面,如下图:…

    2022年6月7日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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