TypechoJoeTheme

Toasobi的博客

最新文章

2023-08-29

ELFK企业级整合使用

ELFK企业级整合使用
日志监控模块日志监控模块教学案例,技术栈为 springboot,elasticSearch,kibana,logstash,filebeat项目结构summit-cloud-log │ .gitkeep │ pom.xml │ README.md │ summit-cloud-log.iml │ ├─logs #项目生成日志文件存放处 │ └─summit-cloud-log │ error.log │ info.log │ warn.log │ ├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─summit │ │ │ │ SummitCloudLogApplication.java #启动类 │ │ │ │ │ │ │ ...
2023-08-29

项目记录

0 阅读
0 评论
2023年08月29日
0 阅读
0 评论
2023-03-22

二叉搜索树与双向链表(中等)

二叉搜索树与双向链表(中等)
这道题当时没做出来,其实是已经想到了使用中序遍历(中序遍历得到的结果就是链表的顺序)。但是不知道如何进行链表节点之间的连接。后面也思考到了每个子树的最右节点下一个连接的是根节点,这个其实就是中序遍历的思维后面看了题解知道了,可以设置两个全局变量,一个head,一个pre。head用于记录最后返回的结果(头节点),pre用于记录每次递归遍历到的节点的前一个节点,用于两点间连接。最后还要将首位相连(head.left = pre; pre.right = head;)此题得解代码如下:<div>class Solution { Node head, pre; public Node treeToDoublyList(Node root) { if(root==null) return null; dfs(root); head.left = pre; pre.right = head; return head; } public void dfs(Node ro...
2023-03-22

剑指offer(第二版)

0 阅读
0 评论
2023年03月22日
0 阅读
0 评论
2023-03-20

复杂链表的复制(中等)

复杂链表的复制(中等)
这道题使用哈希表!感觉思路非常清奇!我们不同于以前复制简单链表那样使用双指针边动边复制,因为这个node除了存储next之外还有一个random。因为random可以指向随便一个node,所以这道题我们需要一个快速映射所有节点的方法,那就是哈希!我们将复制出来的节点每一个与旧节点进行映射,一一对应,那在构造新链表的next和random的时候,我们只需要使用旧链表的next和random的新链表的映射即可。代码如下:<div>class Solution { class Solution { public Node copyRandomList(Node head) { if(head == null) return null; Node cur = head; Map<Node, Node> map = new HashMap<>(); // 3. 复制各节点,并建立 “原节点 -> 新节点” 的 Map 映射 while(cur != nu...
2023-03-20

剑指offer(第二版)

0 阅读
0 评论
2023年03月20日
0 阅读
0 评论
2023-03-20

二叉树中和为某个值的路径(中等)

二叉树中和为某个值的路径(中等)
这道题的主要思路也是dfs,每次往下搜一次,目标数字要减去当前节点的val值。我们使用了一个list叫path来存储每一次搜索下去时经过的节点的val值。如果左右边都走过了还是不满足条件,则会将path中的值移除一个(回溯)注意res.add(new LinkedList(path)),这个比较关键,不能res.add(path),因为这样后面的path改变后list中的path也会更改。下面来看看代码:<div>class Solution { LinkedList<List<Integer>> res = new LinkedList<>(); LinkedList<Integer> path = new LinkedList<>(); public List<List<Integer>> pathSum(TreeNode root, int sum) { recur(root, sum); return res; ...
2023-03-20

剑指offer(第二版)

0 阅读
0 评论
2023年03月20日
0 阅读
0 评论
2023-03-20

二叉搜索树的后序遍历序列(中等)

二叉搜索树的后序遍历序列(中等)
这道题和根据前后遍历序列构造二叉树很相似,就是找到左右子树的范围,递归到只剩一个节点。结束的判断条件是:左子树的val全部小于根,右子树的val全部大于根,在此基础上指针偏移(看代码),最后一定得落在根节点上,否则不是该树的后序遍历。代码如下:<div>class Solution { public boolean verifyPostorder(int[] postorder) { return recur(postorder, 0, postorder.length - 1); } boolean recur(int[] postorder, int i, int j) { if(i >= j) return true; int p = i; while(postorder[p] < postorder[j]) p++; int m = p; //找左子树范围递归 while(postorder[p] > postorder[j...
2023-03-20

剑指offer(第二版)

0 阅读
0 评论
2023年03月20日
0 阅读
0 评论