强烈建议用 Python 刷。
作为一个参加过算法和工程面试的同学,我的经验就是能用 Python 就用 Python。
首先,我们明确一点:刷题考察的是算法和数据结构,顶多再加上语言的基本语法,因此和你选择哪个语言没有关系的。所以使用 Python 和 C++ 解决一个题都是等效的。
面试官给你出的算法题是考察你算法与数据结构的,不是为了看你的语言技巧的。但是,你要保证白板写代码写的没有基本的错误啊!比如使用 C++ 的指针出现了错误,这个时候就要看面试官的心情了。说起来都是泪,我面试快手的时候就因为 C++ 的指针赋值语法出现了错误,然后就被送出门了。
另外,最好用你工作的时候常用的语言刷算法题。因为你的方向是自然语言处理属于算法岗,当然使用 Python 最多,因此面试时可以要求使用 Python。
在找工作的面试时,面试算法岗使用 Python 刷题都没有出现语法问题,面试工程岗使用 C++ 写题之后都得认真检查语法。
总结:
1.使用 Python 刷题更能专注于算法与数据结构本身;
2.使用 Python 更符合算法岗面试;
3.使用 Python 能刷题更快更多。
C++语法比较复杂,刷题时候每一道题一方面要思考思路,另一方面要研究语法,而且复杂的语法不利于一下就看明白思路,比较花时间,不利于刷题效率,可能2个小时能搞懂3道C++题,已经能弄懂5道python 题了。
而且面试的时候一个小时内尽可能面更多的题(2道或者3道),这样子python会更快地实现一个题,而且bug少,debug也简单,C++一旦出现语法错误很容易慌。另外onsite写白板的时候用C++一个白板都写满了。
python 处理字符比C++方便很多
所以总体来说刷leetcode使用python比c++好。