递归反转一个栈。要求空间复杂度为1,不许又一次申请一个相同的栈
算法思想:汉诺塔的思想
function ReserveStack(&$stack){ if(empty($stack)) return; $top = array_pop($stack); ReserveStack($stack); if(empty($stack)){ array_push($stack,$top); return; } $top2 = array_pop($stack); ReserveStack($stack); array_push($stack,$top); ReserveStack($stack); array_push($stack,$top2); } $test = array(3,1,5,6,7,9,10,2); ReserveStack($test); print_r($test);