public class Test2 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
StringBuilder ss = new StringBuilder();//用於拼接字符串
String str = "asdfgrsefkkclgtdxdwee";//初始化一個測試用的字符串
char[] strs = str.toCharArray();//將字符串轉爲字符數組
//遍歷字符數組
for (int i = 0; i < strs.length; i++) {
//判斷字符串中是否包含此字符
if (ss != null && ss.toString().contains(String.valueOf(strs[i])) ) {
//將不含有重複的字符串放到list集合
list.add(ss.toString());
ss.delete(0, ss.length());//清空StringBuilder
ss.append(String.valueOf(strs[i]));//將此重複的字符拼接到StringBuilder
//判斷此字符是否爲字符串的最後一個字符;如果是則將之前拼接成的字符串添加到list集合中
if (i == (strs.length - 1)) {
list.add(ss.toString());
}
}
//如果當前字符串不包含此字符,直接將其拼接到StringBuilder
else {
ss.append(String.valueOf(strs[i]));
//如果當前字符串拼接的字符已經屬於最後一個字符了,就直接將其放到list集合中
if (i == (strs.length - 1)) {
list.add(ss.toString());
}
}
}
// 遍歷list集合,輸出不含有重複字符的字符串
StringBuilder maxString = new StringBuilder(list.get(0));
for (String s1 : list) {
System.out.println("長度:" + s1.length() + " " + s1);
if (s1.length() > maxString.length()) {
maxString.delete(0, maxString.length());
maxString.append(s1);
}
}
System.out.println("\n" + "最長字符串: " + maxString);
}
}
祝願自己和大家可以在技術這條路上堅持下去,並且越走越遠!