当前位置:   article > 正文

leetCode算法套路_leetcode 套路

leetcode 套路

第零章 框架思想

数据结构的算法是什么?
本质是穷举:无遗漏、无冗余。
数据结构算法的核心:1、如何穷举(不遗漏)? 2、如何充满的穷举?(不冗余、高效)

第一章 数据结构

1、链表

a、双指针 +dump节点

  • 1、合并两个有序链表(easy)
  • 2、链表的分解(easy。注意切断节点)
    - 3、合并 k 个有序链表(hard)
  • 4、寻找单链表的倒数第 k 个节点(dump避免空指针
  • 5、寻找单链表的中点 (注意特殊情况)
  • 6、判断单链表:1、是否包含环(easy)2、找出环起点(巧妙的解法)。
  • 7、判断两个单链表:是否相交并找出交点(拼接两个链表)
    1 2 3 A B C
    4 5 6 A B C
    =========
    1 2 3 A B C 4 5 6 A B C
    4 5 6 A B C 1 2 3 A B C

b、反转链表(pre节点)

  • 遍历(easy)
  • 递归(注意一步一步推到) 1->2<3-<4
  •   									       null
    
    • 1

c、K个一组反转

  • 1、判断是否需要反转
  • 2、反转(a,b] 主要数据发生了变化,
  • 3、递归

d、回文链表

O(N) O(1)算法:

  • 1、找中点
  • 2、反转后半
  • 3、对比

2、数组

1、快慢指针

  • 1、删除有序数组中的重复项
  • 2、删除排序链表中的重复元素(注意末尾)
  • 3、移除元素
  • 4、移动零(注意单元素)

2、左右指针

3、二叉树

4、图算法

5、数据结构

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/633057
推荐阅读
相关标签
  

闽ICP备14008679号