2014-10-09 98 views

回答

5
​​

這將適用於您的示例,但如果有超過2個連續的元素將有一個奇怪的行爲。這裏的一個例子寫在外殼:

1> Ex = fun Ex([],R) -> lists:reverse(R); 
1> Ex([H,H|T],R) -> Ex(T,[H,H|R]);  
1> Ex([_H|T],R) -> Ex(T,R) end.   
#Fun<erl_eval.36.90072148> 
2> E = fun(L) -> Ex(L,[]) end. 
#Fun<erl_eval.6.90072148> 
3> E([1,2,3,3,4,3]). 
[3,3] 
4> E([1,2,1,2,1]). 
[] 
5> E([1,2,2,2,3]). 
[2,2] 
6> E([1,2,2,2,2,3]). 
[2,2,2,2] 

我讓你找到如何編碼預期的行爲。

相關問題