码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 最长公共字符串后缀


    目录:

    • 🌵🌵🌵前言
    • 题目
    • 代码
    • ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

    🌵🌵🌵前言

    ✨你好啊,我是“ 怪& ”,是一名在校大学生哦。
    🌍主页链接:怪&的个人博客主页
    ☀️博文主更方向为:课程学习知识、作业题解、期末备考。随着专业的深入会越来越广哦…一起期待。
    ❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
    💪很高兴与你相遇,一起加油!

    题目

    给出若干个字符串,输出这些字符串的最长公共后缀。

    • 输入格式
      由若干组输入组成。

      每组输入的第一行是一个整数 N。

      N 为 0 时表示输入结束,否则后面会继续有 N 行输入,每行是一个字符串(字符串内不含空白符)。

      每个字符串的长度不超过 200。

    • 输出格式
      共一行,为 N 个字符串的最长公共后缀(可能为空)。

    • 数据范围
      1≤N≤200

    • 输入样例:
      3
      baba
      aba
      cba
      2
      aa
      cc
      2
      aa
      a
      0

    • 输出样例:
      ba

      a

    代码

    #include 
    
    using namespace std;
    string s[210];
    int n;
    int main(){
        while(cin>>n,n){//输入0结束
            int len=999999;//记录最短字符串长度
            for(int i=0;i<n;i++){
                cin>>s[i]; //输入n个字符串
                int len1=s[i].length();
                if(len1<len) len=len1; //若有更小,则更新
            }
            // cout<
            
            
            while(len){
                int success=1;// 记录长度为len时是否比对成功,若失败则len-1
                for(int i=1;i<n;i++){//拿第1-n个字符串与第0个字符串比对
                    int cmp=1;//记录第i个字符串比对情况
                    for(int j=1;j<=len;j++){//比对后缀片段
                        if(s[0][s[0].length()-j] != s[i][ s[i].length()-j]){
                            cmp=0;
                            break;
                        }
                    }
                    if(cmp==0){//如果第i个字符串比对失败,则退出
                        success=0;
                        break;
                    }
                }
                if(success) break;
                len--;//len-1,再次重新比对
            }
            
            cout<<s[0].substr(s[0].length()-len)<<endl;
        }
        
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

  • 相关阅读:
    上市公司财务报表精讲系列一:黄山旅游
    微信小程序 - 小程序二维码迷之开发版
    Multi-Path Transport 的误区
    5. 虚拟化特性介绍
    ISP 基础知识储备
    C++继承与派生解析(继承、重载/转换运算符、多重继承、多态、虚函数/纯虚函数、抽象类)
    图解Mysql索引原理
    STM32CubeMX和STM32F4
    java基于springboot+mvc的高校网课在线学习作业管理系统 elementui
    配置VScode开发环境-CUDA编程
  • 原文地址:https://blog.csdn.net/qq_21471309/article/details/126329005
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号