LeetCode-day01

题目描述:

               实现一个算法,确定一个字符串 s 的所有字符是否全都不同。

示例 1:

输入: s = "leetcode"
输出: false 

示例 2:

输入: s = "abc"
输出: true

读题感受:

思路1:
 1 /*
 2 
 3 首先读到这个题,确定一个字符串 s 的所有字符是否全都不同。也就是说,字符串中不存在相同的字母
 4 
 5 解题思路一:
 6          首先把字符串通过toCharArray()方法,转换成Char数组,通过提供双层循环进行遍历,与Char数组中其他元素进行比较
 7          
 8          缺点:用了双层for循环,空间消耗很严重
 9 
10 */
11 代码实现:
12 class Solution {
13     public boolean isUnique(String astr) {
14         char[] chars = astr.toCharArray();
15         for (int i=0;i<chars.length;i++){
16             for (int j=i+1;j<chars.length;j++){
17                 if (chars[i]==chars[j]){
18                     return false;
19                 }
20             }
21         }
22         return true;
23     }
24 }


 
思路2:
 1 /*
 2 思路2与思路1相似,第一步也是把字符串通过toCharArray()方法转换成字符数组,然后只需要一层for循环就可以完成,
通过indexOf()方法和lastIndexOf()方法比较字符第一次出现和最后异常出现的位置的是否相同,进行判断。 3 */ 4 代码实现: 5 public static boolean isUnique(String astr) { 6 char[] chars = astr.toCharArray(); 7 for (int i=0;i<chars.length;i++){ 8 System.out.println(chars[i]); 9 if (astr.indexOf(chars[i])!=astr.lastIndexOf(chars[i])){ 10 //return false; 11 } 12 13 } 14 return true; 15 }


原文地址:https://www.cnblogs.com/buhaohedeyouzicha/p/13504521.html