华为OD机试 - 最长公共后缀(Java 2023 B卷 100分)

本文介绍了一道华为在线测评的题目,要求编写函数找出字符串数组的最长公共后缀。若不存在公共后缀,则返回特殊字符串@Zero。文章提供了解题思路、输入输出示例以及Java算法源码,指出这是一道简单的送分题,鼓励读者尝试解决。
摘要由CSDN通过智能技术生成

一、题目描述

编写一个函数来查找字符串数组中的最长公共后缀,如果不存在公共后缀,返回固定字符串:@Zero。

补充说明:

  1. 字符串长度范围:[2,1000];
  2. 字符串中字符长度范围为:[1,126];

二、输入描述

[“abc” “bbc” “c”]

三、输出描述

c

四、解题思路

  1. 输入一个字符串数组;
  2. 通过java8 Stream表达式(简洁/方便/上档次)快速拆解输入行;
  3. 通过第一个作为参考字符串,与其它字符串比较;
  4. 暴力算法,倒取比较;
  5. 获取所有字符串拥有的相同的最长公共后缀;
  6. 如果长度不满足 or 字符不一致,结束循环;
  7. 输出最长公共后缀,因为倒序遍历添加,所以要反转一下。

五、Java算法源码


                
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值