![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
文章平均质量分 67
简单Leetcode题汇总
caiyec
这个作者很懒,什么都没留下…
展开
-
Leetcode 字符串习题总结(415、409、290、763、5、48)
Leetcode 字符串相关题目最长回文子串把数字翻译成子串最长不含重复字符的子字符串反转字符串的单词最长不含重复字符的子字符串字符串相加常用方法最长回文子串leetcode 第5题经典动态规划+字符串 !定义动态转移方程: dp[ i ][ j ]=(s.charAt(i)==s.charAt(j))&&dp[ i +1 ][ j -1 ]处理一些特殊情况 只有一个字母时 dp[ i ][ i ]=true 只有两个字母时dp[ i][ i+1]=s.charAt(i)==s原创 2021-08-23 22:00:01 · 241 阅读 · 1 评论 -
Leetcode 92、147、148
Leetcode 92、147、148 反转链表 II排序链表对链表进行插入排序反转链表 IIleetcode 92 题这道题就是反转区间链表,典中典思路就是记录区间的前驱节点和后继节点,以及区间的左右边界记录四个位置,之后进行拼接 将前驱节点和区间右边界相连,区间左边界和后继节点相连实现区间反转链表! public ListNode reverseBetween(ListNode head, int left, int right) { ListNode dummy=new原创 2021-08-22 22:43:03 · 168 阅读 · 1 评论 -
leetcode 119、48、54、59
LeetCode 数据结构基础(三)一、杨辉三角II二、一、杨辉三角IIleetcode 119 杨辉三角II利用二维数组来记录杨辉三角,找到特殊位置每行第一个和最后一个都是1,中间元素是上一行左元素和右元素之和 public List<Integer> getRow(int rowIndex) { //利用二维数组来记录 List<List<Integer>> res=new ArrayList<>();原创 2021-08-12 14:42:21 · 97 阅读 · 0 评论 -
LeetCode 数据结构基础(一)
LeetCode 数据结构基础(一)一、只出现一次的数字二、多数元素三、三数之和一、只出现一次的数字leetcode 136 只出现一次的数字遍历一遍数组利用异或的特性来实现(相同为0,相异为1 )例如[4,1,2,1,2] 4和1异或为5 5和2异或为7 7和1异或为6 6和2异或为4 这样就能找出唯一的数字了public int singleNumber(int[] nums) { int res=0; for(int i=0;i<nums.le原创 2021-08-09 23:37:56 · 301 阅读 · 3 评论 -
leetcode 数组练习
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档数据结构前言一、存在重复元素二、最大子序和三、两数之和四、合并两个有序数组五、两个数组的交集II六、买卖股票的最佳时机七、杨辉三角八、重塑矩阵前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、存在重复元素leetcode 217题排序数组,之后遍历是否有重复的元原创 2021-08-04 09:05:15 · 137 阅读 · 1 评论 -
初识二叉搜索树
二叉搜索树一、翻转二叉树二、路径总和三、二叉搜索树3.1验证二叉搜索树3.2两数之和3.3二叉搜索树的最近公共祖先3.4二叉搜索树的第K大节点一、翻转二叉树leetcode 226 题将二叉树左节点反转到右节点,右节点反转到左节点,递归实现 public TreeNode invertTree(TreeNode root) { //递归三步走 1.终止条件 2.一次递归需要做什么 3.这次递归要给上级返回什么结果 if(root==null) return null; Tr原创 2021-08-03 21:53:42 · 94 阅读 · 1 评论 -
二叉树层序遍历(bfs)
初识bfs一、层序遍历二、二叉树的最大宽度三、二叉树的右视图四、二叉树每层的最大值总结一、层序遍历leetcode 102题 public List<List<Integer>> levelOrder(TreeNode root) { //层序遍历 最经典的BFS List<List<Integer>> res=new LinkedList<>(); if(root==null) return原创 2021-08-02 19:26:20 · 320 阅读 · 0 评论 -
二叉树的属性leetcode简单题
二叉树的属性前言一、求节点个数二、求二叉树的最大深度三、相同的树四、对称二叉树五、另一棵树的子树六、平衡二叉树七、判断一棵树是否为完全二叉树八、求二叉树的宽度九、求二叉树的左视图十、求二叉树的右视图前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、求节点个数求全部节点个数: public int getSize(TreeNode原创 2021-08-01 23:18:58 · 107 阅读 · 2 评论 -
二叉树的遍历方式
四种遍历方式递归和非递归一、前序遍历(递归和非递归)二、中序遍历(递归和非递归)三、后序遍历(递归和非递归)四、层序遍历一、前序遍历(递归和非递归)前序遍历就是先遍历根再遍历左之后是右 根左右leetocde 144 题递归实现: public List<Integer> preorderTraversal(TreeNode root) { List <Integer> list=new ArrayList<>(); pre(r原创 2021-07-31 21:44:37 · 156 阅读 · 5 评论 -
数据结构之栈应用
栈和队列前言一、栈1.栈的应用1.1括号匹配1.2进制转化1.3后缀表达式二、队列1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、栈先进后出1.栈的应用1.1括号匹配leetcode 20 题 public boolean isValid(String s) { //有效括号时隔原创 2021-07-31 00:25:22 · 174 阅读 · 1 评论 -
数据结构之链表复习
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档复习链表常见习题前言一、删除链表中给定值为key的节点二、反转链表三、返回链表的中间节点四、返回链表的倒数第K个节点五、分割链表三、返回链表的中间节点前言链表类型的习题多和引用有关,一般就是定义引用来遍历链表,学会插入、修改、删除链表节点等一、删除链表中给定值为key的节点遍历链表,将值为key的节点删除即可,定义前驱节点,修改地址值二、反转链表定义三指针法,类似于头插法,来将链表的节点头插代码如下(示例):data =原创 2021-07-28 14:29:53 · 147 阅读 · 4 评论 -
Leetcode数组简单题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档数组练习前言一、两数之和二、删除有序数组中的重复项三、移除长度四、搜索插入位置五、最大子序和六、加一总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、两数之和leetcode 01 题目链接第一种暴力的方法直接双for循环时间复杂度为O(N^2) 不太好代码如下(示例): public int[] t原创 2021-06-08 11:33:02 · 258 阅读 · 3 评论 -
Java 链表习题
Java 链表部分习题总结一、链表的反转(Leedcode.206反转链表)二、返回链表的中间节点(Leedcode.876 链表的中间节点)三、返回链表倒数第K个节点四、删除链表中所有给定值val的节点(Leetcode.203 移除链表元素)五、删除链表重复节点六、给定X的值分割链表七、链表的回文结构八、判断链表是否有环(Leedcode.141 环形链表)一、链表的反转(Leedcode.206反转链表)将一个链表进行反转,定义两个指针 一个代替头节点跑,另外一个指针是指向下一个节点。之后代替头原创 2021-05-05 17:12:50 · 194 阅读 · 0 评论 -
Java 有效的括号
有效的括号前言一、要求二、实现1.用栈的思想实现括号的匹配,使用一个栈存放左括号,遇到右括号就和栈顶元素相比较,匹配就出栈,不匹配返回。前言LeetCode第20题一、要求给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。二、实现1.用栈的思想实现括号的匹配,使用一个栈存放左括号,遇到右括号就和栈顶元素相比较,匹配就出栈,不匹配返回。代码如下(示例):class Solution { public boolean isValid(St原创 2021-04-30 10:46:02 · 80 阅读 · 0 评论 -
Java 用栈实现队列和用对列实现栈
Java 用栈实现队列和用对列实现栈前言Leetcode 第225题用队列实现栈Leetcode 第232题用栈实现队列一、使用队列实现栈实现以下操作push(int x) 将元素 x 压入栈顶。pop() 移除并返回栈顶元素。top() 返回栈顶元素。empty() 如果栈是空的,返回 true ;否则,返回 false 。二、使用栈实现队列实现以下操作push(int x) 将元素 x 推到队列的末尾pop() 从队列的开头移除并返回元素peek() 返回队列开头的元素empt原创 2021-04-29 17:09:58 · 157 阅读 · 2 评论