题解 | #获取字符串长度#

获取字符串长度

http://www.nowcoder.com/practice/9a2d212d23f5436c80607d5e68c6d12a

题意整理。

  • 键盘输入一个字符串。 -获取该字符串的长度,并输出,要求使用指针实现。

方法一(指针)

1.解题思路

  • 定义一个指针指向字符串开头。
  • 只要指针对应元素不是'\n',将指针后移,同时长度加1。

动图展示: alt

2.代码实现

#include <iostream>
using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));

    int len=0;
    char *p=str;
    //只要指针没有指向换行符位置
    while(*p!='\0'){
        //长度加1,指针p后移
        len++;
        p++;
    }
    cout<<len<<endl;

    return 0;
}

3.复杂度分析

  • 时间复杂度:假设字符串的长度位n,循环总共执行n次,所以时间复杂度为O(n)O(n)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

评论
59
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务