给出一个数组,代表入栈顺序,求所有出栈可能性?
给出一个数组,代表出栈顺序,求所有入栈可能性?
这两题解法相同,可利用 全排列 求出所有组合,再进行可能性分析。
全排列代码如下:
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> result = new ArrayList<>();
permute(nums, result, 0);
return result;
}
// 这种方法是什么意思呢?例如abc,在第0位有三种可能,axx,bxx,cxx, xx代表剩下的子数组,递归处理
// 下面:start代表第start位,nums[start+1~length-1]就是剩下的子数组,递归处理
private void permute(int[] nums