46. Permutations

Given a collection of distinct 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], [3,2,1] ]

public class Solution {
    private List<List<Integer>> ans = new ArrayList<List<Integer>>();
    
    public List<List<Integer>> permute(int[] nums) {
        // Arrays.sort(nums);
      //  List<Integer> result = new ArrayList<Integer>();
        if(nums.length<=0||nums == null)
           return ans;
        dfs(0,nums);
        return ans;
    }
    
    void dfs(int start,int[] nums)
    {
        if(start == nums.length)
        {
            List<Integer> temp = new ArrayList<Integer>();
            for(int i=0;i<nums.length;i++)
               temp.add(nums[i]);
            ans.add(temp);
        }
        else
        {
           for(int j=start;j<nums.length;j++)
           {
               
               int temp1 = nums[start];
               nums[start] = nums[j];
               nums[j] = temp1;
               
               dfs(start+1,nums);
               
               int temp2 = nums[start];
               nums[start] = nums[j];
               nums[j] = temp2;
               
           }
        }
    }
   
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容