Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.45 KB

LeetCode 46全排列.md

File metadata and controls

49 lines (35 loc) · 1.45 KB

LeetCode 46全排列

在这里插入图片描述

全排列的两种实现方式这里就不累述,大家可以参考:全排列两种实现方式

实现方式为:

 public List<List<Integer>> permute(int[] nums) {
		List<List<Integer>>list=new ArrayList<List<Integer>>();
		arrange(nums,0,nums.length-1,list);
		return list;
	 }

	private void arrange(int[] nums, int start, int end, List<List<Integer>> list) {
		  if(start==end)
		  {
			  List<Integer>list2=new ArrayList<Integer>();
			  for(int a:nums)
			  {
				  list2.add(a);
			  }
			  list.add(list2);
		  }
		  for(int i=start;i<=end;i++)
		  {
			  swap(nums,i,start);
			  arrange(nums, start+1, end, list);
			  swap(nums, i, start);
		  }
		
	}

	private void swap(int[] nums, int i, int j) {
		int team=nums[i];
		nums[i]=nums[j];
		nums[j]=team;
	}

在这里插入图片描述

本次就到这里啦,感觉不错记得点赞或一键三连哦,个人公众号:bigsai 回复 bigsai 更多精彩和资源与你分享。