摘要: # 剑指 Offer 68 - II. 二叉树的最近公共祖先 ## 题目说明 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也 阅读全文
posted @ 2023-07-28 16:31 XCCX0824 阅读(27) 评论(0) 推荐(0)
摘要: # 剑指 Offer 50. 第一个只出现一次的字符 ## 题目说明 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 ## 解题思路1:HashMap 使用传统的HashMap,对整一个数组进行遍历,更新记录每个字母的出现次数。在遍历结束之后重新遍历一遍 阅读全文
posted @ 2023-07-24 11:17 XCCX0824 阅读(28) 评论(0) 推荐(0)
摘要: # 剑指 Offer 59 - I. 滑动窗口的最大值 ## 题目说明 给定一个数组 `nums` 和滑动窗口的大小 `k`,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的 阅读全文
posted @ 2023-07-20 20:19 XCCX0824 阅读(42) 评论(0) 推荐(0)
摘要: # 剑指 Offer 24. 反转链表 ## 题目说明 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 ## 解题思路1:栈 ## 解题思路2:递归 如果从后往前看的话,其实可以这样理解。如果当前处于nk,那么就另nk.next.next=nk,并且将nk.next指向空即 阅读全文
posted @ 2023-07-20 20:19 XCCX0824 阅读(14) 评论(0) 推荐(0)
摘要: # 剑指 Offer 67. 把字符串转换成整数 ## 题目说明 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则 阅读全文
posted @ 2023-07-15 19:36 XCCX0824 阅读(20) 评论(0) 推荐(0)
摘要: 215、数组中的第K个最大元素(堆排序,优先队列) 题目说明 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 解题思路1:优先队列 阅读全文
posted @ 2023-05-12 14:48 XCCX0824 阅读(20) 评论(0) 推荐(0)
摘要: 155、最小栈(栈) 题目说明 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 in 阅读全文
posted @ 2023-05-06 18:27 XCCX0824 阅读(41) 评论(0) 推荐(0)
摘要: 22、括号生成 题目说明 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解题思路1 直接每一个位置都放'('或者')',共有2的2n次方种组合。再设置一个isLegal函数判定最终生成的字符串是否合法,合法则加入最终结果。此法可以通过限定第一个和最后 阅读全文
posted @ 2023-05-04 10:42 XCCX0824 阅读(44) 评论(0) 推荐(0)
摘要: # 迭代器 Iterator> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = iterator.next(); System.out.print(entry.getKey()) 阅读全文
posted @ 2023-04-29 17:06 XCCX0824 阅读(22) 评论(0) 推荐(0)
摘要: 41、缺失的第一个正数 题目说明 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出: 阅读全文
posted @ 2023-04-22 16:43 XCCX0824 阅读(27) 评论(0) 推荐(0)