字符串之变形数

举报
chenyu 发表于 2021/07/27 00:08:43 2021/07/27
【摘要】 字符串之变形数 题目:给定2个字符串str1和str2,如果str1和str2出现的字符种类和每个字符出现的个数也一样,那么str1与str2互为变形数。请用函数实现。   例子:str1="123", str2="231" 返回 true 例子:str1="123", str2="2311" 返回 false;  ...

字符串之变形数

题目:给定2个字符串str1和str2,如果str1和str2出现的字符种类和每个字符出现的个数也一样,那么str1与str2互为变形数。请用函数实现。

 

例子:str1="123", str2="231" 返回 true

例子:str1="123", str2="2311" 返回 false;

 

解题思路

方法1:如果字符串str1和str2长度不一样肯定不是变形数,如果相等的话,假设出现的的字符编码为0~256,申请一个长度为256的整形数组map,map[a]=b,表示字符a出现了b次,然后遍历str1,比如遍历到‘a’,那么是a[97]++,,然后遍历str2,当遍历到‘a’,那么map[97]--,如果其中只要有一种情况小于0,那么肯定不是变形数字了,如果想不通,慢慢想,总会想得通的,加油。

方法2:既然str1和str2可以转换成字符编码0~256,而且每个可以把每个字符的编码加起来,如果2个字符编码都相等的话,那么是变形数,前提是字符串的长度是一样的的,以防1+2+3=2+4;的情况出现。

 

下面是实现的java代码

 


  
  1. public class Changeword {
  2. public static void main(String[] args) {
  3. String str1="abcd",str2="abcdd",str3&#

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/49622319

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。