給定乙個有空格的字串,求倒數第二個單詞的長度

2021-07-13 19:54:39 字數 644 閱讀 1024

給定乙個有空格的字串,求倒數第二個單詞的長度。

要求:1、不能使用字串的split方法;

2、不能將字串轉換為陣列;

3、不能建立新的字串物件(包括stringbuffer和stringbuilder)

4、演算法複雜度為o(n)

例如:" nice to meet you "

倒數第二個單詞是"meet",長度為4。

下面這個是我最初想到的方法:從字串最後乙個字元往前遍歷(使用字串的charat方法獲取字元)每個字元。

public int secondlength(string s) 

}for (; i >= 0; i--)

}for (; i >= 0; i--)

}for (; i >= 0; i--) else

}return len;

}

後來我又想了乙個辦法,雖然**量少了點,但是也沒有比上面的簡單多少。

public int secondlength(string s)  else 

len = 0;

}if (len == 1)

}return len;

}

求倒數第N個字串

給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。輸入格式 輸入在一行中給出兩個正整數 ...

重複輸出乙個給定的字串

描述 重複輸出乙個給定的字串 str第乙個引數 n 次 num第二個引數 如果第二個引數num不是正數的時候,返回空字串。思路 我將介紹三種方法 使用 while 迴圈 使用遞迴 使用es6 repeat 方法1 通過 while 迴圈重複輸出乙個字串 function repeatstringnu...

字串 如何輸入一行帶有空格的字串

對於char char s 100 cin.getline s,1000 第二個引數表示允許輸入的最大長度while cin.getline s,1000 輸入輸出樣例 輸入 he llo 輸出 he llo 對於string string s getline cin,s while getline...