写在文章前
看到别人的LeetCode刷题博客写的很不错,copy了一次,并且转成markdown格式留做保存
原文章地址:https://blog.csdn.net/zxccxzzxz/article/details/52519133
貌似markdown我现在没有好的办法粘贴出来,遂有需要的朋友可以联系我索取
LeetCode
我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的。专业,覆盖语种全面。
提前说说刷题的心得:
-
尽量手写代码,少使用IDE的代码补全和智能提示。既然是提升和锻炼自己的代码功底,那就没有理由再犯没有IDE写代码会死症
-
让自己去思考本身就是一件艰难的事,所以如果遇到困难,可以借鉴但切不可抄袭他人思考成果。不然刷题就没有意义了,别贪多贪快,自己思考的才是最好的
进入LeetCode官方网站,你会看到醒目的Start coding now,没有账号的同学赶快注册吧,点击此处可以进入题目分类,接着可以根据自己的实际情况,通过难易程度选择题目(PS: 带锁的需要花钱),我是先易后难,找点信心再说
选择题目后就开始刷题之旅吧,官方提供多种语言的支持,可以实时运行检测代码,也可以自己设置自定的Testcase,介绍到此,祝各位刷题愉快,学业有成,工作顺利~
题目预览表
由易到难排序,目前官网总共出了390+
# | Title | Difficulty |
---|---|---|
344 | Reverse String | Easy |
344 | Reverse String | Easy |
344 | Reverse String | Easy |
344 | Reverse String | Easy |
344 | Reverse String | Easy |
344. Reverse String
Write a function that takes a string as input and returns the string reversed.
译:输入一段字符串将其倒序并返回
Example:
Given s = “hello”, return “olleh”.
实现
public static int[] twoSum(int[] nums, int target) {
int[] result = new int[2];
for (int k = 0; k < nums.length; k++) {
for (int l = k + 1; l < nums.length; l++) {
if (nums[k] + nums[l] == target) {
for (int p : nums) {
if (nums[k] == p) {
result[0] = k;
}
if (nums[l] == p) {
result[1] = l;
}
}
return result;
}
}
}
return result;
}
问题分析
作为最简单的题,我刚开始写的时候也遇到一些坑:
- 忽略空格、回车的存在,结果检测的时候不过关
- 没有没有考虑性能问题,仅仅在乎结果是否正确