Skip to content

这是一个练习剑指offer题目的仓库,基于Java + Junit的方法

License

Notifications You must be signed in to change notification settings

HippoFly/SwordOffer.LeetCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

255 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode

按照数据结构

数据结构 题型 题目
二叉树 遍历 144. 二叉树的前序遍历
94. 二叉树的中序遍历
145. 二叉树的后序遍历
98. 验证二叉搜索树
199. 二叉树的右视图
114. 二叉树展开为链表
230. 二叉搜索树中第 K 小的元素
437. 路径总和 III
重构 105. 从前序与中序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树
108. 将有序数组转换为二叉搜索树
链表 基本操作 2. 两数相加
138. 复制带随机指针的链表
141. 环形链表
142. 环形链表 II
数组 双指针 11. 盛最多水的容器
128. 最长连续序列
121. 买卖股票的最佳时机
字符串 滑动窗口 3. 无重复字符的最长子串
5. 最长回文子串
DFS/BFS 131. 分割回文串
139. 单词拆分
动态规划 1143. 最长公共子序列
124. 二叉树中的最大路径和
哈希表 1. 两数之和
136. 只出现一次的数字
栈和队列 102. 二叉树的层序遍历
104. 二叉树的最大深度
递归 101. 对称二叉树

《剑指offer》Java版代码

封面图片

提供多种解法以及思路,并在OJ上全都通过

目录

题号 测试用例 题目及题解
第二题 测试2 单例设计模式
第三题 测试3 二维数组中查找目标值
第四题 测试4 替换字符串中的空格
第五题 测试5 从尾到头打印链表
第六题 测试6 由前序和中序遍历重建二叉树
第七题 测试7 用两个栈实现队列
第八题 测试8 求旋转数组的最小数字
第九题 测试9 斐波那契数列的第n项(青蛙跳台阶)
第十题 测试10 二进制中1的个数
第十一题 测试11 数值的整数次方
第十二题 测试12 打印1到最大的n位数
第十三题 测试13 O(1)时间删除链表节点
第十四题 测试14 使数组中的奇数位于偶数前面
第十五题 测试15 找链表中倒数第K个节点
第十六题 测试16 反转链表
第十七题 测试17 合并两个有序链表
第十八题 测试18 判断二叉树A中是否包含子树B
第十九题 测试19 二叉树的镜像
第二十题 测试20 顺时针打印矩阵
第二十一题 测试21 包含min函数的栈
第二十二题 测试22 判断一个栈是否是另一个栈的弹出序列
第二十三题 测试23 层序遍历二叉树
第二十四题 测试24 后序遍历二叉搜索树
第二十五题 测试25 二叉树中和为某值的路径
第二十六题 测试26 复杂链表的复制
第二十七题 测试27 二叉搜索树转换为双向链表
第二十八题 测试28 打印字符串中所有字符的排列
第二十九题 测试29 数组中出现次数超过一半的数字
第三十题 测试30 找出最小的K个数
第三十一题 测试31 连续子数组的最大和
第三十二题 测试32 从1到整数n中1出现的次数
第三十三题 测试33 把数组中的数排成一个最小的数
第三十四题 测试34 求第N个丑数
第三十五题 测试35 第一个出现一次的字符
第三十六题 测试36 数组中逆序对的个数
第三十七题 测试37 两个链表的第一个公共节点
第三十八题 测试38 数字在排序数组中出现的次数
第三十九题 测试39 二叉树的深度
第四十题 测试40 数组中只出现一次的两个数,而其他数都出现两次
第四十一题 测试41 和为s的连续整数序列
第四十二题 测试42 翻转字符串
第四十三题 测试43 n个骰子的点数及出现的概率
第四十四题 测试44 扑克牌的顺子
第四十五题 测试45 圆圈中最后剩下的数
第四十六题 测试46 1+2+3+...+n的和
第四十七题 测试47 不用加减乘除做加法
第四十八题 测试48 不能被继承的类
第四十九题 测试49 字符串转换为整数
第五十题 测试50 树中两个节点的最低公共祖先
第五十一题 测试51 找出重复的数
第五十二题 测试52 构建乘积数组
第五十三题 测试53 正则表达式匹配
第五十四题 测试54 表示数值的字符串
第五十五题 测试55 字符流中第一个不重复的字符
第五十六题 测试56 链表中环的入口节点
第五十七题 测试57 删除链表中重复的节点
第五十八题 测试58 二叉树的下一个节点
第五十九题 测试59 对称的二叉树
第六十题 测试60 按之字形顺序打印二叉树
第六十一题 测试61 把二叉树打印成多行
第六十二题 测试62 序列化二叉树
第六十三题 测试63 二叉搜索树的第K个节点

Leetcode 分类

BinarySearch

Q35_SearchInsertPosition

PrefixSum前缀

Q169_MajorityElement

Hash

Q49_GroupAnagrams Q438_AnagramsInString 哈希作为窗口的计数数组

滑动窗口

Q76_MinimumWindowSubstring 最明白窗口移动的一题 Q438_AnagramsInString 哈希作为窗口的计数数组

回溯

Q51_NQueens Q79_WordSearch DFS回溯 Q131_PalindromePartitioning 这里回文串很难

桶排序

Q41_MissingPositive

堆排序

Q347_TopKFrequentElements

巧用内置API

Q49_GroupAnagrams stream流

About

这是一个练习剑指offer题目的仓库,基于Java + Junit的方法

Topics

Resources

License

Stars

Watchers

Forks

Languages