相关String的算法学习(例题:判断字符的变形词)

编程入门 行业动态 更新时间:2024-10-16 02:30:16

相关String的算法学习(<a href=https://www.elefans.com/category/jswz/34/1767926.html style=例题:判断字符的变形词)"/>

相关String的算法学习(例题:判断字符的变形词)

package BATZTSuanfa.String;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;/*给定两个字符串str1和str2 ,如果str 1和str2中出现的字符种类样且每种字符出现的次数也一样,那么str1与str2互为变形词,请实现函数判断两个字符串是否互为变形词。举例:str1=" 123”,str2=" 231”。返回true。str1=" 123" ,str2=" 2331"。返回false.*/
public class AL2_BianXingCi {public boolean jugeChangeWord(String str1, String str2) {char[] c1=str1.toCharArray();char[] c2=str2.toCharArray();//先判断两个字符的长度是否相等不相等肯定不是if (c1.length!=c2.length){return false;}HashMap<Character,Integer> a=new HashMap();//把单个字符串放到map中for (int i = 0; i <c1.length ; i++) {if (a.containsKey(c1[i])){a.put(c1[i],a.get(c1[i])+1);}else {a.put(c1[i],1);}}//在把c2中的字符在map中减出去,如果有没有的直接返回falsefor (int i = 0; i <c2.length ; i++) {if (a.containsKey(c2[i])){a.put(c2[i],a.get(c2[i])-1);}else {return false;}}//用迭代器查看是否有剩的字符Iterator iter = a.entrySet().iterator();while (iter.hasNext()){Map.Entry entry = (Map.Entry) iter.next();Object val = entry.getValue();if (Integer.parseInt(val.toString())>0||Integer.parseInt(val.toString())<0){return false;}}return true;}public static void main(String[] args) {AL2_BianXingCi a=new AL2_BianXingCi();System.out.println(a.jugeChangeWord("1223","2331"));}
}

 

更多推荐

相关String的算法学习(例题:判断字符的变形词)

本文发布于:2024-03-23 20:24:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742439.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:例题   算法   字符   String

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!