为了账号安全,请及时绑定邮箱和手机立即绑定

谁能给我讲讲关于递归的东西。。好难理解啊。。

谁能给我讲讲关于递归的东西。。好难理解啊。。

慕田峪7331174 2018-10-09 13:18:01
/** * Created by LR on 2016/12/7. */function permutate(str) {    var result = [];    if(str.length == 1){        return [str]    }else {        var preResult = permutate(str.slice(1))        for (var j = 0; j < preResult.length; j++) {            console.log(preResult[j])            for (var k = 0; k < preResult[j].length+1; k++) {                var temp=preResult[j].slice(0,k)+str[0]+preResult[j].slice(k);                result.push(temp);            }        }        console.log("!")        console.log(result)        return result    }}permutate('abc');第一次是abc 进入函数,然后长度大于1进入else;所以这里就应该是var preResult = permutate("bc")之后呢??我就想到bc进入函数,长度大于一之后就 var preResult = permutate("c")长度等于1了 然后就返回一个c 这个for循环是怎么执行的?? 谁能告诉我一下。。。这个是全排列的算法
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 670 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号