本文开始新系列——旧题新做。将曾经我练过的力扣题改写成C++解法。因为本作者曾经只熟悉C语言,目前想锻炼一下C++的语法,故开设此系列,也借此激励自己坚持练习。大家也可以把我当成学习陪伴,共同进步~
 

曾经的学习记录帖:https://blog.csdn.net/chamao_/article/details/143174307?fromshare=blogdetail&sharetype=blogdetail&sharerId=143174307&sharerefer=PC&sharesource=chamao_&sharefrom=from_link

C++解法:

class Solution {
public:
    bool isUnique(string astr) {
        size_t len = astr.length();
        for(size_t i = 0; i < len; i++) {
            for(size_t j = i + 1; j < len; j++) {
                if(astr[i] == astr[j]) {
                    return false;
                }
            }
        }
        return true;
    }
};

小知识点:
size_t
是 C++ 中一个 无符号整数类型,专门用来表示:

  • 数组长度

  • 容器大小

  • 字符串长度

  • 内存大小

  • 下标索引

它是 C++ 中用于“大小、长度、索引”的标准类型。

std::string能不能简写为string?

using namespace std;(不推荐用于大型项目)

#include <string>
using namespace std;

string name = "hello";   // 不需要写 std::

但缺点是:

  • 会把 std 下所有名字全部导入全局,容易冲突

  • 大项目中很不安全

  • 头文件里严禁使用

所以现代 C++ 项目一般不推荐这个写法。

今天学到的C++新知识:
1. C中的char*代表字符串,C++中用std::string就可以了

2. 在特殊情况用size_t来代替int,更符合C++规范

3. .length() or .size()都可以获取字符串的长度,此长度不包含/0。和C的strlen()一样。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐