美文网首页
JavaScript - 字符串全排列

JavaScript - 字符串全排列

作者: ElricTang | 来源:发表于2019-11-01 21:55 被阅读0次

    给定字符串'abc',输出该字符串的全排列。
    ['abc','acb','bac','bca','cba','cab']

    递归实现:

    function permutation (str) {
        let arr = [...str];
        let result = [];
        function loop(index) {
            if (index === arr.length - 1) {
                result.push([...arr].join(''));
                return;
            }
            for(let i = index; i < arr.length; i++) {
                [arr[index],arr[i]] = [arr[i],arr[index]];
                loop(index + 1);
                [arr[index],arr[i]] = [arr[i],arr[index]];            
            }
        }
        loop(0);
        return result;
    }
    
    console.log(permutation('abc'));
    // [ 'abc', 'acb', 'bac', 'bca', 'cba', 'cab' ]
    

    相关文章

      网友评论

          本文标题:JavaScript - 字符串全排列

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