1.3给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
Posted 吴军师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.3给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。相关的知识,希望对你有一定的参考价值。
注意1:大小写相关吗?比如Dog和God。
注意2:空格是否需要考虑。
方法1:排序
public String sort(String s) { char[] content = s.toCharArray(); java.util.Arrays.sort(content); return new String(content); } public boolean permutation(String s, String t) { if (s.length() != t.length()) { return false; } return sort(s).equals(sort(t)); }
方法2:
public boolean permutation(String s, String t) { if (s.length() != t.length()) { return false; } int[] letters = new int[256]; char[] s_array = s.toCharArray(); for (char c:s_array) { letters[c]++; } for (int i = 0; i < t.length; i++) { int c = (int)t.charAt(i); if (--letters[c] < 0) { return false; } } return true; }
以上是关于1.3给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。的主要内容,如果未能解决你的问题,请参考以下文章
给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。