本節課老師留下的思考問題可以這樣寫嗎?
var strArr = ["d", "cd", "bcd","abcd", "abcde","edf", "abb", "a"] ;
func compareTwoString(s1:String,s2:String)->Bool{
? ? if(countElements(s1) < countElements(s2)){
? ? ? ? return true ; ?//長度優先
? ? }
? ? else{
? ? ? ? if countElements(s1) > countElements(s2){
? ? ? ? ? ? return false ; ?//長度優先
? ? ? ? }
? ? ? ? var str1 = Array(s1) ;
? ? ? ? var str2 = Array(s2) ;
? ? ? ? for var i=0, j=0 ; i<str1.count && j<str2.count;(i++,j++){
? ? ? ? ? ? if str1[i] <= str2[j]{
? ? ? ? ? ? ? ? return true
? ? ? ? ? ? }
? ? ? ? ? ? else{
? ? ? ? ? ? ? ? return false ;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return false ;
}
sorted(strArr, compareTwoString )
2014-11-16
我沒有仔細看代碼細節,但是整體思路是對的。大贊!
不過其實還能寫得更簡潔哦~關于這個思考問題,我在講下一章的時候會給出我的一個實現,歡迎關注:)