时间:2021-07-01 10:21:17 帮助过:35人阅读
$v) { $tmp = $index; unset($tmp[$i]); //去掉当前的前缀 /* 调试信息,便于理解 echo "len $n , cur $i , index:\n"; var_dump($tmp); */ $ret = perm($s, $n-1, $tmp); //递归得到稍短的排列 if($ret != '') { foreach($ret as $r) { $res[] = $s[$v] . $r; //将稍短的排列逐个拼上当前的前 缀 } } else { $res[] = $s[$v]; } } return $res; } } function getPerm($s) { $n = strlen($s); $index = range(0, $n-1); //得到不同长度的排列 for($i=1; $i<=$n; $i++) { var_dump(perm($s, $i, $index)); } } getPerm('abcd'); ?>