Permutations1:
给定数组如[1,2,3],找出所有排列。用回溯法即可,关键在于迭代器的应用,我们可以用迭代器暂时把入栈的元素从数组中删除,这样就能很方便的用深搜来遍历数组了。
Permutations2:
数组中这次有了重复元素,解决方法很简单,在入栈之前做个判断,如果等于上一个元素,说明不用考虑(这种情况已经遍历过了)。关键是验证了一种方法,迭代器可以加减常量:ite==*(ite-1)
Rotate Image:
把矩阵顺时针旋转90度,题目不难,难的是要不用额外空间。这里直接粘贴大神的方法:
* first reverse up to down, then swap the symmetry
* 1 2 3 7 8 9 7 4 1
* 4 5 6 => 4 5 6 => 8 5 2
* 7 8 9 1 2 3 9 6 3
对角旋转90度,再水平翻转,真心逆天。。