题目描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:
hello dayday
输出:
8
说明:
最后一个单词为dayday,长度为6
思路
- 运用动态数组,将输入的字符串依次存入数组中,最后返回数组中最后一个元素(字符串)的长度。
- 动态数组的push_back方法
具体实现
#include <iostream>
#include <vector>
using namespace std;
int main() {
string s;
vector<string> arr;
while(cin>>s){
arr.push_back(s); //在vector arr的末尾添加元素(字符串)s
}
cout<<arr[arr.size()-1].length(); //输出最后一个元素的长度
}
时间复杂度
O(n)---n为数组元素个数
小结
空间复杂度:
- 数组的空间复杂度度:数组长度
- 递归的空间复杂度度:递归深度
- 既有数组又有递归的空间复杂度:取二者之间最大的。