Leetcode每日总结

  • 6月19日
    • 每日一题125:验证回文串(简单题)
      • 主要使用函数isalpha() , isdigit() , tolower() , toupper()
  • 6月20日
    • 102.二叉树的层序遍历
      • BFS,队列中保存当前层的所有节点,全部访问完之后,全部抛出,此时队列中保存的都是下一层的节点
    • 107.二叉树的层次遍历 II
      • 方法与102相同,最后做一个旋转即可(reverse(ans.begin(),ans.end()))。
    • 104.二叉树的最大深度
      • 快速,简洁的解法
  • 6月21日
    • 111.二叉树的最小深度
      • dfs递归求解,每次遍历到叶子节点(左右孩子为NULL)把深度记录下来,与最小值比较
  • 6月24日
    • 每日一题:最接近的三数之和
      • 双指针法,先排序,固定第一个数,则题目转化成两个变量,如何取到距离目标最近的数,采用双指针时间复杂度O(N*N)。
    • 1038 .从二叉搜索树到更大和树
      • 二叉搜索树的中序遍历是从小到大的顺序,反向中序则是从大到小
  • 6月25日
    • 112 .路径总和
      • DFS简单题
    • 113 .路径总和 II
      • DFS+记录路径,回溯法
    • 105 .从前序与中序遍历序列构造二叉树
    • 106 .从中序与后序遍历序列构造二叉树
    • 889 .根据前序和后序遍历构造二叉树
      • 根据中序+后序/前序其中一个即可唯一确定一棵二叉树,105,106题型类似,采用递归法,根据根节点切割序列,直到切割到只有一个元素。
    • 236 .二叉树的最近公共祖先
  • 6月26日
    • 133 .克隆图
      • DFS+map+递归
    • 8 .字符串转换整数 (atoi)
      • str预处理以及INT最大上界与最小下界[−2^31 , 2 ^31 − 1]
  • 6月30日
    • 56 .合并区间
      • 排序+比较左右区间端点进行合并
    • 274 .H 指数
      • 二分+lower_bound二分
    • 179 .最大数
      • s1+s2>s2+s1,字符串大小传递
    • 75 .颜色分类
      • 三指针法
  • 7月1日
    • 287 .寻找重复数
      • 二分答案
    • 300 .最长上升子序列
      • 动态规划/贪心二分

你可能感兴趣的:(LeetCode)