码迷,mamicode.com
首页 > 其他好文 > 详细

【3】确定两串乱序

时间:2017-05-28 23:10:31      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:排序   相同   comm   false   get   sam   ascii码   返回   turn   

【题目】

给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。

【代码实现】

方法一:对字符排序比较

import java.util.*;

public class Same {
    public boolean checkSam(String stringA, String stringB) {
        if(stringA == null ||  stringB == null || stringA.length() <= 0 || stringB.length() <= 0)
            return false;
        if (stringA.length() != stringB.length()){
            return false;
        }
        char[] arrA = stringA.toCharArray();
        char[] arrB = stringB.toCharArray();
        //根据每个字符的ASCII码大小进行排序(空格也会被排序)
        Arrays.sort(arrA);
        Arrays.sort(arrB);
        
        return Arrays.equals(arrA, arrB);
    }
}

 

方法二:使用HashMap:

链接:https://www.nowcoder.com/questionTerminal/164929d4acd04de5b0ee2d93047b3b20?toCommentId=535049
来源:牛客网

import java.util.*;
 
public class Same {
    public boolean checkSam(String stringA, String stringB) {
            if(stringA == null ||  stringB == null || stringA.length() <= 0 || stringB.length() <= 0)
            return false;
        if(stringA.length() != stringB.length())
            return false;
         
        Map<Character, Integer> map = new HashMap<>();
        for(int i = 0; i < stringA.length(); i++){
            if(map.containsKey(stringA.charAt(i))){
                map.put(stringA.charAt(i), map.get(stringA.charAt(i)) + 1);
            }else{
                map.put(stringA.charAt(i), 1);
            }
        }
         
        for(int i = 0; i < stringB.length(); i++){
            if(map.containsKey(stringB.charAt(i))){
                map.remove(stringB.charAt(i));
            }
        }
         
         
        if(!map.isEmpty()){
            return false;
        }
         
        return true;
    }
}

 

【3】确定两串乱序

标签:排序   相同   comm   false   get   sam   ascii码   返回   turn   

原文地址:http://www.cnblogs.com/noaman/p/6916874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!