给定一个字符串,输出他的所有排列

最近课堂上碰到一个给定字符串,要求输出他的所有排列可能,故此得到一份代码如下:

public class Soluctiomn {
    // 本算法为回溯法
    public static void main(String[] args) {
	    String str = "average";  // 给定的字符串
	    Soluction(str, ""); 
    }

private static void Soluction(String x, String y) {
	if (x.length() == 0) {  //判断一下,如果String s 的长度为0 则直接输出字符串y
		System.out.println(y);
		return;   //结束
	}
	
	for (int i = 0; i < x.length(); i++) {//循环将的到的字符串排列输出
		String news = x.substring(0, i) + x.substring(i + 1, x.length());
		Soluction(news, y + x.charAt(i));
	}
  }
}

本次算法分享到这,这道题也有不同的思路,读者也可以试试自己的想法。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6