B
按子串长度从(1~n)对原字符串进行截取,并判断该字符串是否出现过,没有就把答案加一。
做法是可以创建一个set集合,将所有子串加入进去,最后集合中字符串的数量就是答案。
代码:
import java.util.*; import java.io.*; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); HashSet<String> res = new HashSet<String>(); String s = in.nextLine(); int n = s.length(); for(int i = 0; i < n; i++){ for(int j = i+1; j <= n; j++){ res.add(s.substring(i, j)); } } System.out.println(res.size()); } }
用到的知识