LeetCode当然可以用Python刷!作为在北美找SDE工作的过来人,我可以很负责任地说Python是最适合刷题的编程语言之一。 去年我靠Python刷了300多道题,最后成功拿到了Amazon和Microsoft的offer。Python的简洁语法让我能更专注于算法逻辑本身,而不是被复杂的语法细节困扰。
Python在处理字符串和数组问题时特别有优势。 记得有次面试遇到一个字符串匹配的问题,用Java可能要写十几行代码,而Python只需要一行正则表达式就搞定了。 面试官当时明显眼前一亮,这种简洁性在紧张的面试环境中简直是救命稻草。 而且Python强大的内置函数库,比如collections和itertools,能帮你省去很多重复造轮子的时间。
不过要注意Python在性能敏感型问题上的局限性。 我面Google时遇到一个需要处理百万级数据的问题,Python的实现就因为超时被拒了。 后来面试官建议我用Java重写,果然就通过了。 所以现在我的策略是:平时刷题用Python快速实现,遇到性能瓶颈时再用Java/C++优化。

大厂对编程语言的要求其实很灵活。 Amazon的面试官告诉我他们更看重解题思路,用什么语言反而不重要。 但有些做底层开发的组可能会要求特定语言,比如做操作系统的组通常偏好C++。 所以最好提前研究目标公司的技术栈,做好两手准备。
建议把Python当作主要刷题工具,同时保持对其他语言的熟悉度。 我每周会专门抽时间用Java重写一些经典题目,这样既能巩固算法,又能保持多语言能力。 毕竟在真实的软件开发中,语言只是工具,解决问题的能力才是核心。