FED5 全排列

描述

请补全JavaScript代码,要求以数组的形式返回字符串参数的所有排列组合。
注意:
1. 字符串参数中的字符无重复且仅包含小写字母
2. 返回的排列组合数组不区分顺序
 
 

思路

‘abc’的全排列 =  ('a'拼接上'bc'的全排列数组中的每一项) + ('b'拼接上'ac'的全排列数组的每一项) + ('c'拼接上'ab'的全排列数组的每一项)

1. 分离出字符串的每一个字符串,再将剩下的字符串全排列和剪枝的字符相加

 

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
    	
        <script type="text/javascript">
            const _permute = string => {
                // 补全代码
                if(string.length === 1){
                    return [string]
                }
                const results = []
                for(let s of string){
                    const arr = string.split('').filter(item => item !== s)
                    _permute(arr.join('')).forEach(item => {
                        results.push(s+item)
                    })
                }
                    
                return results;
            }
        </script>
    </body>
</html>

  

 

posted @ 2023-03-20 15:16  学习让我充实  阅读(60)  评论(0)    收藏  举报