1. public class Solution {
    2. public void backtrack(选择列表, 结束条件, path, ret) {
    3. if (path 满足了 结束条件) {
    4. ret.add(path);
    5. return;
    6. }
    7. for (选择 in 选择列表) {
    8. path.addLast(选择);
    9. backtrack(选择列表, 新的结束条件, path, ret);
    10. path.removeLast();
    11. }
    12. }
    13. }