数据结构与算法修炼
数据结构与算法修炼
ybqdren
这个作者很懒,什么都没留下…
展开
-
LeetCode:116. 填充每个节点的下一个右侧节点指针
边看春晚边刷一、题目题目:116. 填充每个节点的下一个右侧节点指针难度:中等地址:https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/使用语言:Java二、代码class Solution { public Node connect(Node root) { if(root == null){ return null; .原创 2021-02-11 21:39:02 · 185 阅读 · 0 评论 -
LeetCode:25. K 个一组翻转链表
一、题目题目:25. K 个一组翻转链表难度:困难地址:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/使用语言:Java二、代码 public ListNode reverse(ListNode a,ListNode b){ ListNode pre = null; ListNode cur = a; ListNode next = b; while.原创 2021-02-06 17:24:13 · 108 阅读 · 0 评论 -
LeetCode:114. 二叉树展开为链表
边看春晚边刷一、题目题目:114. 二叉树展开为链表难度:中等地址:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/使用语言:Java二、代码class Solution { public void flatten(TreeNode root) { // 实际上是前序遍历 toLinkedList(root); } public TreeNo.原创 2021-02-11 22:46:29 · 108 阅读 · 0 评论 -
LeetCode:654. 最大二叉树
一、题目题目:654. 最大二叉树难度:中等地址:https://leetcode-cn.com/problems/maximum-binary-tree/使用语言:Java二、代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} *原创 2021-02-19 13:34:52 · 94 阅读 · 0 评论 -
LeetCode:234. 回文链表
一、题目题目:234. 回文链表难度:简单地址:https://leetcode-cn.com/problems/palindrome-linked-list/使用语言:Java二、代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) {原创 2021-02-07 16:29:57 · 156 阅读 · 1 评论 -
LeetCode:701. 二叉搜索树中的插入操作
一、题目题目:701. 二叉搜索树中的插入操作难度:中等地址:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/使用语言:Java解法关键词:递归、BST搜索+插入二、代码结合BST的构成特点:左子树永远小于右子树,可以构造递归搜索的方法。当搜索到传入的root值为null时,就以为这此处可以插入我们的新值。/** * Definition for a binary tree node. * publ原创 2021-03-31 09:48:12 · 139 阅读 · 1 评论 -
LeetCode:146. LRU 缓存机制
一、题目题目:146. LRU 缓存机制难度:中等地址:https://leetcode-cn.com/problems/lru-cache/使用语言:Java二、代码1. 利用Java 集合APIclass LRUCache { /* 在这个过程中,要让put和get方法的实践复杂度为(i) cache这个数据结构必备的条件如下: 1.显然`cache`中的元素必须有时序,以区分最近使用和久未使用的数据,当容量满了之后要删除久未使用的元素,为后面原创 2021-03-13 14:59:10 · 178 阅读 · 0 评论 -
LeetCode:92.反转链表 II
开始系统的刷leetcode了,加油加油!一、题目题目:92. 反转链表 II难度:中等地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/二、代码/** * Created by Zhao Wen on 2021/2/4 * 92 反转链表 */public class _92 { // 下一个结点存放 ListNode nextNode = null; public ListNod.原创 2021-02-04 22:22:46 · 144 阅读 · 0 评论 -
LeetCode:226. 翻转二叉树
废狗写了三十多分钟,终于写出来了一、题目题目:226. 翻转二叉树难度:简单地址:https://leetcode-cn.com/problems/invert-binary-tree/使用语言:Java二、代码class Solution { public TreeNode invertTree(TreeNode root) { if(root == null){ return null; } .原创 2021-02-11 10:07:54 · 98 阅读 · 0 评论 -
LeetCode:450. 删除二叉搜索树中的节点
一、题目题目:450. 删除二叉搜索树中的节点难度:中等地址:https://leetcode-cn.com/problems/delete-node-in-a-bst/使用语言:Java解法关键词:递归、BST搜索+删除二、代码针对BST的删除操作需要考虑到:删除时不能破坏BST的特性/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode l原创 2021-04-01 17:23:37 · 143 阅读 · 0 评论 -
LeetCode:665. 非递减数列
2月7号每日一题,今天解决,原来也是想以数组解决,然后参考了官方题解一、题目题目:665. 非递减数列难度:简单地址:https://leetcode-cn.com/problems/non-decreasing-array/使用语言:Java二、代码class Solution { public boolean checkPossibility(int[] nums) { // 判定 根据连续子串判定 然后看中断的位置有几处 for(int .原创 2021-02-10 23:14:58 · 111 阅读 · 0 评论 -
LeetCode:700. 二叉搜索树中的搜索
一、题目题目:700. 二叉搜索树中的搜索难度:简单地址:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/使用语言:Java二、代码利用BST 的特性:1、对于 BST 的每一个节点 node,左子树节点的值都比 node 的值要小,右子树节点的值都比 node 的值大。2、对于 BST 的每一个节点 node,它的左侧子树和右侧子树都是 BST。/** * Definition for a binary原创 2021-03-30 11:15:21 · 114 阅读 · 0 评论 -
Java实现线性查找法,并对进行性能检测
在静态型数据源中进行线性查找package linearsearch;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/8/29 * * 线性查找法实现 在data数组中查找16 * * input: 数组,和目标元素 * output: 目标元素所在的索引;若不存在,返回-1 */public class LinearSearch { public static void main(String[] args)原创 2021-11-07 18:41:55 · 152 阅读 · 0 评论