问大家一个题!

 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,
例如:原始字符串是"abc",
打印得到下列所有组合情况:
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"

my_views
浏览 1199回答 2
2回答

suegeeker

php版本的: <?php $str = "abcd"; function splitstr($str) { if (empty ( $str )) return; $arr = array (); for($i = 0; $i < strlen ( $str ); $i ++) { $arr [$i] = substr ( $str, $i, 1 ); } return $arr; } function combinestr($arr, $n) { $result = array (); if ($n == 1) { $result = $arr; } else { $temp = combinestr ( $arr, $n - 1 ); for($i = 0; $i < count ( $temp ); $i ++) { foreach ( $arr as $item ) { if (strpos ( $temp[$i], $item )===false) { $result[]=$temp[$i].$item; } } } } foreach ( $result as $item ) { echo $item . " "; } echo "<br/>"; return $result; } $arr=splitstr($str); $n=count($arr); combinestr($arr, $n); ?>
打开App,查看更多内容
随时随地看视频慕课网APP