- 博客(9)
- 收藏
- 关注
原创 JZ25-复杂链表的复制
JZ25-复杂链表的复制题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。示例:输入:{1,2,3,4,5,3,5,#,2,#}输出:{1,2,3,4,5,3,5,#,2,#}/*public class RandomListNode { int label; RandomListNode
2021-07-31 10:52:16
139
原创 2021-07-28 JZ3 从头到尾打印单链表
JZ3 从头到尾打印单链表题目描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;publi
2021-07-28 21:21:24
129
原创 2021-07-26 Leetcode409:最长回文串
Leetcode409:最长回文串给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。**最长回文串的求法:**如果字符出现的次数为偶数次,则直接相加;如果字符出现的次数为奇数次,则结果每次加出现次数-1;如果没有出现奇数次的字符,则直接返回结果;如果出现了奇数次的字符,则返回结果+1。class Solution { public int longestPalindrome(String s)
2021-07-26 10:12:48
129
原创 2021-07-20 LeetCode:反转链表
LeetCode:反转链表反转链表。递归反转整个链表。可以使用迭代或递归来实现。迭代或者递归的代码如下class Solution { public ListNode reverseList(ListNode head) { //迭代 // ListNode cur = null; // ListNode pre = head; // while(pre!=null){ // ListNode temp
2021-07-20 15:07:28
269
原创 LeetCode:二叉搜索树的第k大节点
LeetCode:二叉搜索树的第k大节点给定一颗二叉树,返回其第K大节点。首先的思路就是中序遍历一颗二叉树,得到的结果是有序的,然后从得到的队列中找出第K大的数/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } *
2020-11-18 09:54:27
262
原创 LeetCode:根据身高重建队列
LeetCode:根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对 (h, k) 表示,其中 h 是这个人的身高,k 是应该排在这个人前面且身高大于或等于 h 的人数。 例如:[5,2] 表示前面应该有 2 个身高大于等于 5 的人,而 [5,0] 表示前面不应该存在身高大于等于 5 的人。编写一个算法,根据每个人的身高 h 重建这个队列,使之满足每个整数对 (h, k) 中对人数 k 的要求。来源:力扣(LeetCode)链接:https://leetcode-cn.com
2020-11-17 21:40:48
367
原创 LeetCode:寻找二叉树的最近公共祖先
LeetCode:寻找二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-s
2020-11-16 19:35:04
232
原创 算法:LeetCode 从上到下打印二叉树
算法:LeetCode 从上到下打印二叉树从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。容易想到的是层序遍历,利用队列来实现,若要每一层打印到一行,每次需要读取队列中元素的个数来判断当前行有多少个元素/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * T
2020-11-15 19:34:16
228
原创 算法:LeetCode328.奇偶链表
LeetCode328.奇偶链表给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/odd-even-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。代码
2020-11-13 19:23:29
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人