leetcode

这篇博客详细介绍了在LeetCode上的几个经典算法题,包括整数反转、字符串转换整数、回文数、三数之和、有效括号、左旋转字符串、删除排序数组中的重复项以及合并K个升序链表。每个题目都给出了关键点和最佳解法链接,是刷题者的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、leetcode题目

leetcode题海游历。

7. 整数反转

链接: link.
关键点:
(1)整数范围:int的取值范围为: -231——231-1,即-2147483648——2147483647
(2)使用/ ,%运算进行获取反转值
关键逻辑:
//pop operation:
pop = x % 10;
x /= 10;

//push operation:
temp = rev * 10 + pop;
rev = temp;

8. 字符串转换整数 (atoi)

链接: link.
(1)去除空格函数:str.trim();
(2)判断char是否包含数字:Character.isDigit(str.charAt(i))

最佳题解:https://leetcode-cn.com/problems/string-to-integer-atoi/solution/c-jian-dan-ti-jie-by-da-li-wang-2/

9. 回文数

链接: link.

不使用将数字转换成字符串的解法关键点:
1、反转数字:revertedNumber = revertedNumber * 10 + x % 10;
2、判断达到了数字的一半

15. 三数之和

链接: link.

关键点:
(1)进行排序
(2)双指针方法,固定当前数,左右指针分别指向后面的队头以及队尾,向中间夹逼,相同数跳过(排除重复的组的方法)

题解:https://leetcode-cn.com/problems/3sum/solution/hua-jie-suan-fa-15-san-shu-zhi-he-by-guanpengchn/

20. 有效的括号

关键点:
1、基础java接口使用:栈的使用基础类型封装类
2、思路:对每个字符,遇到左边符号,入栈,遇到右边符号,从左边符号栈中弹出栈顶元素,进行判断是否匹配,匹配,则跳到下一个元素循环。

我的题解:https://leetcode-cn.com/problems/valid-parentheses/submissions/

剑指 Offer 58 - II. 左旋转字符串

关键点:
1、String 的方法length()、charAt(m)
2、思路:
// 1、先保存strLeft
// 2、循环将strRight移动到前半部分
// 3、循环将strLeft移动到后半部分

技巧:可以用取余进行循环下标替换
class Solution {
public String reverseLeftWords(String s, int n) {
String res = “”;
for(int i = n; i < n + s.length(); i++)
res += s.charAt(i % s.length());
return res;
}
}

我的题解:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/

题解:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/solution/mian-shi-ti-58-ii-zuo-xuan-zhuan-zi-fu-chuan-qie-p/

26. 删除排序数组中的重复项

1、关键点:双指针移动进行比较,p,q,
(1)不相等,则 num[p + 1] = num[q],p++,q++
(2) 相等,,q++
2、思考:如果是这样的数组{0,1,2,3,4,5}
虽然可以判断是否相邻来执行是否移动,但实际测试判断的效率低于
3、题解:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/

23. 合并K个升序链表

1、关键点:
(1)实现思路:分治合并,分解为合并两个list
(2)发现效率问题:三元运算符效率高于if else,少了26ms左右.可参考https://blog.youkuaiyun.com/dby73/article/details/103206805

3、题解:https://leetcode-cn.com/problems/merge-k-sorted-lists/solution/he-bing-kge-pai-xu-lian-biao-by-leetcode-solutio-2//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值