1.组合设置每一层的起始元素startIndex
2.排列设置已使用过元素的标记数组used
3.电话号码组合/分割回文串/复原IP地址等问题转化为组合问题
4.控制used相当于在枝上不使用已经使用过的元素,在backTracking方法里设置set去重相当于层去重。也可以把数组排序后判断nums[i] == nums[i - 1]来去重,不能排序的情况,比如求递增子序列,就只能使用set或者另外的标志数组来去重
5.剪枝来缩小遍历范围
6.按字典排序的数据结构 PriorityQueue , TreeMap