Skip to content

字符串全组合 #89

@hushicai

Description

@hushicai

已知字符串里的字符是互不相同的,现在任意组合,比如ab,则输出aa,ab,ba,bb,编程按照字典序输出所有的组合。

function perm(source, result = [], pos = 0) {
    let size = source.length;

    if (size === pos) {
        console.log(result.join(''));
        return;
    }

    for (let i = 0; i < size; i++) {
        result[pos] = source[i];
        perm(source, result, pos + 1)
    }
}

let input = 'ab';

perm(input.split(''));

按照深度优先来递归就可以了:

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions