- 博客(5)
- 收藏
- 关注
原创 LeetCode 剑指 Offer 30. 包含 min 函数的栈
LeetCode 剑指 Offer 30. 包含 min 函数的栈题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();min
2021-11-24 17:19:00 273
原创 Leetcode 567. 字符串的排列
Leetcode 567. 字符串的排列给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例:输入:s1 = "ab" s2 = "eidbaooo"输出:true解释:s2 包含 s1 的排列之一 ("ba").class Solution { public boolean checkInclusion(String s1, String s2) {
2021-11-18 13:21:11 160
原创 Leetcode 3. 无重复字符的最长子串
Leetcode 3. 无重复字符的最长子串使用滑动窗口,即设置左右两个指针,当下一个元素a不包含在当前子串中时,右指针+1(将新元素加入子串中),如果在当前子串中有元素a,则左指针右移,直到删除掉原子串中出现的a。比较子串的长度,获得最大值输出。下面展示一些 内联代码片。class Solution { public static int lengthOfLongestSubstring(String s) { //滑动窗口 char[] res = s.
2021-11-17 15:58:27 44
原创 LeetCode 19.删除链表的倒数第 N 个结点
LeetCode 19.删除链表的倒数第 N 个结点第一种方法:获取链表长度,找到节点直接删除/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode
2021-11-16 20:17:27 473
原创 Leetcode 剑指 Offer 06. 从尾到头打印链表
@[TOC](Leetcode 剑指 Offer 06. 从尾到头打印链表)t题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。输入:head = [1,3,2]输出:[2,3,1]第一种方法,利用栈/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val =
2021-11-11 00:05:29 207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人