😁😐😭

01-字符串-😐无重复字符的最长子串

3. 无重复字符的最长子串

  1. /**
  2. * @param {string} s
  3. * @return {number}
  4. */
  5. var lengthOfLongestSubstring = function (s) {
  6. let l = 0;
  7. let res = 0;
  8. const map = new Map();
  9. for (let r = 0; r < s.length; r++) {
  10. if (map.has(s[r]) && map.get(s[r]) >= l) {
  11. l = map.get(s[r]) + 1
  12. }
  13. res = Math.max(res, r - l + 1)
  14. map.set(s[r], r)
  15. }
  16. return res
  17. };

思路:

  • 滑动窗口

image.png
image.png

02-链表-😭K 个一组翻转链表

25. K 个一组翻转链表

03-栈-😁有效的括号

20. 有效的括号

08-链表-😁合并两个有序链表

21. 合并两个有序链表

17-链表-😁环形链表

141. 环形链表

22-链表-😁反转链表

206. 反转链表

var reverseList = function (head) {
  let prev = null;
  let curr = head;
  let next = null;
  while (curr !== null) {
    next = curr.next;//next向后移动一位
    curr.next = prev;//让当前指针curr.next指向前一个指针prev
    prev = curr;//prev向后移动一位
    curr = next;//curr向后移动一位
    //[curr.next, prev, curr] = [prev, curr, curr.next]
  }
  return prev;
};

27-链表-😭合并K个升序链表

23. 合并K个升序链表