有26个字母a-z,找出所有字母组合

有26个字母a-z,找出所有字母组合,a、b、c、ab、abc,a~z都是一个组合(顺序无关)

解题思路:
*1.*这个问题有点像小学课本上握手问题,每个人都握到最后那个人,这样也就好理解点了
*2.*我们可以通过循环加上字符串拼接每次加一个字母,然后存储到数组中,好比:a,a+b,a+b+c,a+b+c+d等等到了b就清空继续这个操作
*3.*这样一看我们可以采用双重for循环一个负责首字母一个负责后续的拼接
接下里详见代码:

import java.util.ArrayList;

public class Demo05 {
	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<String>();
		for (char i = 'a'; i <= 'z'; i++) {
			//清空
			String st = "";
			for (char j = i; j <= 'z'; j++) {
				//拼接
				st+=j;
				//存储
				list.add(st);
			}
		}
		//遍历出来所有的组合
		for (String string : list) {
			System.out.println(string);		
		}
	}
}

结论:当你换一个层面看问题,或许会简单很多

猜你喜欢

转载自blog.csdn.net/jj_xxw/article/details/106908492