
刷题
算法刷题
TrueDei
不荒废现在,不畏惧未来!我认为把知识给别人讲会,讲明白,自己才彻底明白。努力把文章写好,写明白每一篇文章,分享给更多人。
展开
-
leetcode-寻找两个正序数组的中位数
leetcode-寻找两个正序数组的中位数原创 2020-10-07 00:40:59 · 1235 阅读 · 1 评论 -
LeetCode 242. 有效的字母异位词
LeetCode 242. 有效的字母异位词原创 2020-08-06 11:39:11 · 807 阅读 · 0 评论 -
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III原创 2020-07-26 16:55:37 · 871 阅读 · 0 评论 -
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II原创 2020-07-26 16:08:38 · 687 阅读 · 0 评论 -
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树原创 2020-07-26 15:44:55 · 707 阅读 · 0 评论 -
牛客网-从上到下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { t原创 2020-07-26 15:32:46 · 597 阅读 · 0 评论 -
leetcode 剑指 Offer 40. 最小的k个数
剑指 Offer 40. 最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 100000 <= arr[i] <= 10000链接:https:/原创 2020-07-26 14:44:19 · 719 阅读 · 0 评论 -
牛客网-最小的k个数
牛客网-最小的k个数原创 2020-07-26 14:42:57 · 677 阅读 · 0 评论 -
牛客网-栈的压入、弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路://解题思路://要判定第二个序列是否可能是该栈的弹出序列,就要使用指定的入栈顺序//模拟出来对应的弹栈序列,我们设入栈顺序序列式pushV, 可能出栈序列popV//popv的第原创 2020-07-25 23:21:34 · 570 阅读 · 0 评论 -
牛客网-包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49解题import java.util.Stack;public class Solution { //存放数据 Stack<Integer> stackA = new Stack<Integer>(); //原创 2020-07-24 11:16:20 · 555 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.pus原创 2020-07-24 09:36:14 · 562 阅读 · 0 评论 -
牛客网-删除链表中重复的节点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5OJ链接:https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef解法1 带头节点的解法/* public class ListNode { int val; ListNode ne原创 2020-07-24 00:05:16 · 556 阅读 · 0 评论 -
牛客网-对称二叉树
题目描述请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。牛客网OJ连接:https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=0解题代码:/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; publi原创 2020-07-23 15:57:53 · 599 阅读 · 0 评论 -
牛客网-二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5牛客网OJ连接:https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011力扣连接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lc原创 2020-07-23 15:38:31 · 503 阅读 · 0 评论 -
牛客网-树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)oj连接:https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88解法1/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val)原创 2020-07-23 15:15:21 · 540 阅读 · 0 评论 -
牛客网-合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解法1 歪门邪道/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/import java.util.List;import java.util.ArrayList;import java.util.Co原创 2020-07-23 14:48:19 · 661 阅读 · 0 评论 -
牛客网-反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。解法1/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { if(head =原创 2020-07-23 10:33:16 · 689 阅读 · 0 评论 -
牛客网-二维数组的查找
牛客网-二维数组的查找原创 2020-07-23 10:04:34 · 581 阅读 · 0 评论 -
牛客网-替换空格
牛客网-替换空格原创 2020-07-23 10:04:11 · 642 阅读 · 0 评论 -
牛客网-斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39迭代解题public class Solution { public int Fibonacci(int n) { if(n == 0) return 0; int a=1; int b=1; int c=1;原创 2020-07-23 10:03:54 · 576 阅读 · 0 评论 -
牛客网-从头到尾打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。解题1使用栈解题2/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;import java.ut原创 2020-07-23 10:03:38 · 538 阅读 · 0 评论 -
牛客网-重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题1、如何划分前序(根节点,左子树前序,右子树前序)2、如何划分中序(根据根节点,左中序,右中序)...原创 2020-07-23 10:02:55 · 508 阅读 · 0 评论 -
牛客网-旋转数组的最小数字
牛客网-旋转数组的最小数字原创 2020-07-23 10:02:36 · 525 阅读 · 0 评论 -
LeetCode 剑指 Offer 28. 对称的二叉树
LeetCode 剑指 Offer 28. 对称的二叉树原创 2020-06-19 21:29:10 · 1165 阅读 · 0 评论 -
LeetCode 剑指Offer 面试题27. 二叉树的镜像
LeetCode 剑指Offer 面试题27. 二叉树的镜像原创 2020-06-10 07:43:55 · 1159 阅读 · 1 评论 -
手把手教你如何重建二叉树(超精彩配图)
手把手教你如何重建二叉树(超精彩配图)原创 2020-06-10 06:38:49 · 5380 阅读 · 13 评论 -
LeetCode 107. 二叉树的层次遍历 II
LeetCode 107. 二叉树的层次遍历 II原创 2020-06-08 14:18:52 · 1202 阅读 · 1 评论 -
LeetCode 103. 二叉树的锯齿形层次遍历
LeetCode 103. 二叉树的锯齿形层次遍历原创 2020-06-08 14:06:02 · 1055 阅读 · 0 评论 -
LeetCode 102. 二叉树的层序遍历
LeetCode 102. 二叉树的层序遍历原创 2020-06-08 13:33:34 · 1290 阅读 · 0 评论 -
剑指Offer LeetCode 面试题25. 合并两个排序的链表
面试题25. 合并两个排序的链表输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000解题package 链表;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;i原创 2020-06-01 16:39:54 · 1280 阅读 · 0 评论 -
LeetCode 20200601 打卡 1431. 拥有最多糖果的孩子
LeetCode 20200601 打卡 1431. 拥有最多糖果的孩子原创 2020-06-01 15:40:40 · 1108 阅读 · 0 评论 -
剑指Offer LeetCode 面试题24. 反转链表
面试题24. 反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLpackage 链表;public class Solution2 { public static ListNode reverseList(ListNode head) { ListNode newHead=null原创 2020-06-01 15:24:55 · 1056 阅读 · 0 评论 -
剑指Offer LeetCode 面试题22. 链表中倒数第k个节点
剑指Offer LeetCode 面试题22. 链表中倒数第k个节点原创 2020-06-01 14:51:22 · 1116 阅读 · 0 评论 -
剑指Offer LeetCode 面试题18. 删除链表的节点
剑指Offer LeetCode 面试题18. 删除链表的节点原创 2020-06-01 12:36:21 · 1685 阅读 · 0 评论 -
剑指Offer LeetCode 面试题06. 从尾到头打印链表
面试题06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]解题利用Stack栈先进后出的特征import java.util.Arrays;import java.util.Stack;class Solution { static public int[] reversePrint(ListNode head) { Stack<Integer&原创 2020-05-29 22:21:43 · 1047 阅读 · 0 评论 -
剑指Offer LeetCode 面试题59 - I. 滑动窗口的最大
剑指Offer LeetCode 面试题59 - I. 滑动窗口的最大原创 2020-05-28 23:00:29 · 987 阅读 · 0 评论 -
剑指Offer LeetCode 面试题58 - II. 左旋转字符串
剑指Offer LeetCode 面试题58 - II. 左旋转字符串原创 2020-05-28 21:58:16 · 1009 阅读 · 1 评论 -
剑指Offer LeetCode 面试题58 - I. 翻转单词顺序
剑指Offer LeetCode 面试题58 - I. 翻转单词顺序原创 2020-05-28 21:36:42 · 910 阅读 · 1 评论 -
剑指Offer LeetCode 面试题56 - II. 数组中数字出现的次数 II
剑指Offer LeetCode 面试题56 - II. 数组中数字出现的次数 II原创 2020-05-28 20:11:15 · 1669 阅读 · 1 评论 -
LeetCode 66. 加一
LeetCode 66. 加一原创 2020-05-27 19:52:35 · 916 阅读 · 1 评论