数据结构与算法
慕慕的木木
想要写好代码的木木
展开
-
数据结构与算法(字符串)
Leetcode 30.串联所有单词的子串 解答以及注释: class Solution { // 使用滑动窗口 public List<Integer> findSubstring(String s, String[] words) { // 这里是创建返回的List List<Integer> res = new ArrayList<>(); if (s == null || s.length() =原创 2021-07-31 11:52:03 · 135 阅读 · 0 评论 -
数据结构与算法(二叉树的遍历算法)
定义节点 class ListNode{ ListNode left; ListNode right; int val; public ListNode(int value){ this.val=value; } } 实现深度优先遍历 这里其实有三种前序中序后序,而且可以使用递归和非递归的方法。 递归的话在深度遍历一般需要用栈。 public void dfs(ListNode node){ if(node=原创 2021-07-21 21:45:12 · 142 阅读 · 0 评论 -
Java数据结构与算法(数组)
1、 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解答: 一个for循环就可以。返回索引只要判断是否相等就可以了。但是如果不存在的话需要返回其插入的位置,这里可以理解为插入比它大的地方。所以我们要使用大于等于。最后如果都没有,就插入最后就可以了。 class Solution { public int searchInsert(int[] nums, int target原创 2021-07-20 21:31:57 · 52 阅读 · 0 评论