LeetCode Permutations

来源:互联网 发布:苏州淘宝代运营公司 编辑:程序博客网 时间:2024/06/03 12:30

Permutations

 Total Accepted: 25286 Total Submissions: 80517My Submissions

Given a collection of numbers, return all possible permutations.

For example,
[1,2,3] have the following permutations:
[1,2,3][1,3,2][2,1,3][2,3,1][3,1,2], and [3,2,1].

Have you been asked this question in an interview? 

public class Solution {    public List<List<Integer>> permute(int[] num) {        List<List<Integer>> result = new ArrayList<List<Integer>>();        List<Integer> level = new ArrayList<Integer>();        if (num == null) {            return result;        }        helper(num, level, result);        return result;    }    void helper(int[] num, List<Integer> level, List<List<Integer>> result) {        if (level.size() == num.length) {            result.add(new ArrayList<Integer>(level));        }                for (int i = 0; i < num.length; i++) {            if (level.contains(num[i])) {                continue;            }            level.add(num[i]);            helper(num, level, result);            level.remove(level.size() - 1);        }    }      }


0 0
原创粉丝点击