(变位词)的操作
题意:编写一个方法,检测两个单词是否互为变位词。如果在不记顺序的情况下两个单词包含完全相同的字母,则称这两个单词互为变位词(anagram)。
import java.util.Arrays;
import java.util.Scanner;
public class E9_11{
// public static void main(String[] args){
// Scanner input = new Scanner(System.in);
// System.out.println("Enter a string : ");
// String s = input.nextLine();
// System.out.println("After sort string:" + charSort(s));
// }
public static String sort(String s){
char[] str = s.toCharArray();
int i,j;
// char ch;
Arrays.sort(str);
// for(i = 0;i < s.length();i++){
// for(j = 0;j < s.length();j++){
// if(str[i] > str[j]){
// ch = str[i];
// str[i] = str[j];
// str[j] = ch;
// }
// }
// }
return new String(str);
}
}
<pre name="code" class="java">import java.io.PrintStream;
import java.util.Scanner;
public class E9_12 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("Enter the first string: ");
String first = input.nextLine();
System.out.println("Enter the second string: ");
String second = input.nextLine();
System.out.println(first + " and " + second + " is " + ((isAnagram(first,second)) ? "anagram." : "not anagram."));
}
public static boolean isAnagram(String first,String second){
String newS1 = E9_11.sort(first);
String newS2 = E9_11.sort(second);
// System.out.println(newS1);
// System.out.println(newS2);
if(newS1.length() != newS2.length())
return false;
for(int i = 0;i < newS1.length();++i){
if(newS1.charAt(i) != newS2.charAt(i))
return false;
}
return true;
}
}
java中字符串排序的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理