美文网首页
全排列算法

全排列算法

作者: 衣裳云墨 | 来源:发表于2021-01-22 17:51 被阅读0次

    1、问题描述:给定一个字符串,输出该字符串所有排列的可能。如输入“abc”,输出“abc,acb,bca,bac,cab,cba”。

    function permutate(str) {
          let result = [];
    
          if (str.length > 1) {
            let [left, ...rest] = str
            let preResult = permutate(rest)
    
            for (let i = 0; i < preResult.length; i++) {
              for (let j = 0; j < preResult[i].length + 1; j++) {
                let tmp = preResult[i].slice(0, j) + left + preResult[i].slice(j, preResult[i].length);
                result.push(tmp);
              }
            }
          } else {
            return [str]
          }
          return result
        }
        console.log(permutate('abc'))
    

    相关文章

      网友评论

          本文标题:全排列算法

          本文链接:https://www.haomeiwen.com/subject/uvkezktx.html