zoukankan      html  css  js  c++  java
  • Anagrams问题

    问题描述
      Anagrams指的是具有如下特性的两个单词:在这两个单词当中,
    每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、
    “Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。
    每一个单词的长度不会超过80个字符,而且是大小写无关的。
      输入格式:输入有两行,分别为两个单词。
      输出格式:输出只有一个字母Y或N,分别表示Yes和No。
      输入输出样例
    样例输入
    Unclear
    Nuclear
    样例输出
    Y
    代码:

     import java.util.*;
    public class Anagrams {
        
        public static void main(String[] args)
        {
             Scanner in=new Scanner(System.in);
             String  A=in.next();
             String B=in.next();
             char a[]=A.toLowerCase().toCharArray(); // 先转化为小写的,后转化为数组
             char b[]=B.toLowerCase().toCharArray();  // 同上
              int temp1[]=new int[26];   // 总共共有26个字母,temp1,temp2分别存储字母
              int temp2[]=new int[26];
              for(int i=0;i<a.length;i++)
              {
                  temp1[a[i]-'a']++;  // 字母出现的次数
                  temp2[b[i]-'a']++;
              }
              for(int i=0;i<26;i++)
              {
                  if(temp1[i]!=temp2[i])
                  {
                      System.out.print("N");
                       System.exit(0);  // 系统退出
                       
                  }
              }
                     System.out.print("Y");
            
            
        }

    }

    运行结果:

    注:本题的关键在于将字符串转化为字符数组,字母出现的次数不会超过26个,定义一个长度为26的整形数组,用来存储字母。

    编程是一门艺术,要爱就要深爱。
  • 相关阅读:
    自适应网页设计(Responsive Web Design)(转)
    PAT 1062 最简分数(20)(代码+思路)
    PAT 1059 C语言竞赛(20)(代码+思路)
    PAT 1058 选择题(20)(代码+思路)
    PAT 1057 数零壹 (20)(代码+思路)
    PAT 1054 求平均值 (20)(代码+思路+测试用例)
    PAT 1053 住房空置率 (20)(代码+思路)
    PAT 1052 卖个萌 (20)(代码+思路)
    PAT 1048 数字加密(20)(代码+思路)
    PAT 1047 编程团体赛(代码)
  • 原文地址:https://www.cnblogs.com/pwhit/p/5072655.html
Copyright © 2011-2022 走看看