您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        
- //递归分析和使用、
 - /*
 - * 1.找到相似性
 - * 2.设计出口
 - *
 - */
 - import java.util.List;
 - import java.util.Vector;
 - public class test17 {
 - /**
 - * @param args
 - */
 - public static void main(String[] args) {
 - // TODO Auto-generated method stub
 - // p(0, 10);
 - // p1(0, 10);
 - // System.out.println(sum(1, 100));
 - // System.out.println(sum1(1, 100));
 - // System.out.println(turn("abcdefg"));
 - List<String> list=pl("abcd");
 - for (int i = 0; i < list.size(); i++) {
 - System.out.println(list.get(i));
 - }
 - }
 - //1.简单的打印10个数字问题
 - public static void p(int begin,int end) {
 - System.out.println(begin);
 - if (begin<end) { //出口
 - p(begin+1, end);
 - }
 - }
 - public static void p1(int begin,int end) {
 - if (begin<end) { ////出口
 - p1(begin, end-1);
 - }
 - System.out.println(end);
 - }
 - //2.简单的书累加问题
 - public static int sum(int begin,int end ) {
 - if (begin==end) { //出口
 - return begin;
 - }
 - return(begin+sum(begin+1, end)); //累加后赋给begin
 - }
 - public static int sum1(int begin,int end) {
 - if (begin==end) { //出口
 - return end;
 - }
 - return (end+sum1(begin, end-1)); //累加后赋给begin
 - }
 - //3.字符串翻转问题
 - public static String turn(String s) {
 - //abcdefg
 - if (s.length()<=1) {
 - return s;
 - }
 - return (turn(s.substring(1))+s.charAt(0));
 - }
 - ///4.全排列问题
 - public static List<String> pl(String s) {
 - List<String> lst=new Vector<String>(); //初始化一个空链表
 - // abc 解题思路: 1。先取出要排列串的第一个字符,
 - // bac 2.剩下的字串再进行全排列
 - // bca 3.将取出的字符插入到全排列后的字串中。
 - // acb
 - // cab
 - // cba
 - if (s.length()==1) { //如果要全排列的字符串只有一个字符,直接加入到已初始化的链表中,返回list
 - lst.add(s);
 - return lst;
 - }
 - //如果要排列的字符串长度大于1,取出该串的第一个字符,将字串再进行递归处理
 - char a=s.charAt(0);
 - String s1=s.substring(1);
 - List<String> t=pl(s1); //递归进行字串的全排列
 - for (int i = 0; i < t.size(); i++) {
 - String string=(String)t.get(i);
 - for (int j = 0; j <string.length()+1; j++) {
 - lst.add(string.substring(0,j)+a+string.substring(j));
 - }
 - }
 - return lst;
 - }
 - }
 
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。