《程序员面试金典》之确定字符互异

1、题目描述

请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。

测试样例:
"aeiou"
返回:True
"BarackObama"
返回:False
 

2、代码实现

 1 import java.util.*;
 2 
 3 public class Different {
 4     public boolean checkDifferent(String iniString) {
 5         for(int i = 0; i < iniString.length(); i++){
 6             for(int j = i+1; j < iniString.length(); j++){
 7                 if(iniString.charAt(i) == iniString.charAt(j)){
 8                     return false;
 9                 }
10             }
11         }
12         
13         return true;
14     }
15     
16     @SuppressWarnings("resource")
17     public static void main(String[] args) {
18         Different different = new Different();
19         Scanner reader = new Scanner(System.in);
20         String str = reader.nextLine();
21         System.out.println(different.checkDifferent(str));
22     }
23 }
原文地址:https://www.cnblogs.com/wangchaoyuan/p/5965300.html