[LeetCode]Permutations
2015-09-24 18:17
363 查看
Given a collection of numbers, return all possible permutations.
For example,
and
题解:使用的是递归方法:
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].
题解:使用的是递归方法:
public class Solution { private List<List<Integer>> result = new ArrayList<List<Integer>>(); public List<List<Integer>> permute(int[] nums) { generatePermute(nums,0,nums.length-1); return result; } public void generatePermute(int[] nums,int i,int n){ if(i==n){ putToList(nums); }else{ for(int k=i; k<=n; k++){ swap(nums, i, k); generatePermute(nums, i+1, n); swap(nums, i, k); } } } private static void swap(int [] nums,int i,int j){ int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; } private void putToList(int[] nums) { List<Integer> list = new ArrayList<Integer>(); for(int i:nums){ list.add(i); } result.add(list); } }
相关文章推荐
- java web总结(数据库连接池)
- OC属性中setter和getter的实现
- leetCode --Reverse Integer以及java基本类型
- js不存在块状作用域
- jquery php 百度搜索框智能提示效果
- nginx 配置--限定用户访问,防止非80端口转80技巧
- 优秀博客收藏
- UI - UIPageControl
- CentOS7下Python开发环境搭建
- XMPP协议_smack源码分析(一)
- mysql的配置文件详解
- Android的权限permission
- Openstack 快速入门(官方文档直译)
- weiphp微信支付开发教程
- 《C语言中分配了动态内存后一定要释放吗?》
- jquery获取value值
- Memcached 安装配置
- java系统学习(十二) --------异常与处理及内存管理
- 如何查看手机型号,最好的查询方法
- java系统学习(十二) --------异常与处理及内存管理