PHP는 문자열에 반복되는 문자가 있는지 확인합니다.
방법 1,
1. 문자 배열
2. Arrays.sort(char[])를 사용하여 문자 배열을 정렬한 다음, 마지막 문자가 아닌 경우 정렬된 전체 배열을 하나씩 순회합니다. 현재 문자 및 기타 다음 문자가 동일하면 false를 직접 반환하고, 그렇지 않으면 순회를 계속합니다. 모든 요소가 다음 문자와 다르거나 마지막 문자가 순회되면 반복되는 문자가 없는 것으로 간주됩니다. , true가 반환됩니다
#🎜 🎜#3. 또한 null 또는 길이가 0이고 반복되는 문자가 없는 문자열의 경우 true를 반환합니다방법 2, 해시 테이블을 생성하고 문자열을 순회하며, 해시 테이블에 해당 문자가 포함되어 있지 않으면 false를 반환하고, 반복되는 문자가 없으면 true를 반환합니다. 방법 3,public class Solution { /* * @param str: A string * @return: a boolean */ public boolean isUnique(String str) { // write your code here /* //思路一 //如果str是null,那么抛出异常 if(str == null){ throw new IllegalArgumentException("invalid parameters"); } //如果str的长度是0或者1,那么没有重复字符,返回true if(str.length() == 0 || str.length() == 1){ return true; } //将字符串转成字符数组 char[] ch = str.toCharArray(); //对数组进行排序 Arrays.sort(ch); //遍历数组,看当前字符是否和后面字符相同,相同就返回false,否则返回true for(int i = 0; i < ch.length-1; i++){ if(ch[i] == ch[i+1]){ return false; } } return true; */ /* //思路二 //如果str是null,那么抛出异常 if(str == null){ throw new IllegalArgumentException("invalid parameters"); } //如果str的长度是0或者1,那么没有重复字符,返回true if(str.length() == 0 || str.length() == 1){ return true; } //创建hash表,将字符串字符存到hash表中 HashSet<Character> hs = new HashSet<Character>(); for(int i = 0; i < str.length(); i++){ if(hs.contains(str.charAt(i))){ return false;//hash表中有相同的字符,那么说明有重复的字符 } hs.add(str.charAt(i)); } return true; */ //思路三 //如果str是null,那么抛出异常 if(str == null){ throw new IllegalArgumentException("invalid parameters"); } //如果str的长度是0或者1,那么没有重复字符,返回true if(str.length() == 0 || str.length() == 1){ return true; } //从前向后遍历字符串,对每个字符,调用String.indexOf()看其后面是否有相同的字符,如果有返回false,否则最后返回true for(int i = 0; i < str.length()-1; i++){ if(str.indexOf(str.charAt(i), i+1) != -1){ return false; } } return true; } }권장:
위 내용은 PHP는 문자열이 반복되는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!