def back(path,track): if len(track) == l: tmp = ''.join(track[:]) if tmp not in result: result.append(tmp) return for i in range(len(path)): p = path[i] track.append(p) back(path[:i]+path[i+1:], track) track.pop() 回溯算法的例子输入参数path是待选择的路,track是走过的路的记录根据track判断是否加入result然后选出path的一种做选择****返回原始path