public class Solution { public void backtrack(选择列表, 结束条件, path, ret) { if (path 满足了 结束条件) { ret.add(path); return; } for (选择 in 选择列表) { path.addLast(选择); backtrack(选择列表, 新的结束条件, path, ret); path.removeLast(); } }}