<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YYY_J的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YYY_J</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YYY_J]]></copyright><item><title><![CDATA[JZ25-复杂链表的复制]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/119271619</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/119271619</guid><author>YYY_J</author><pubDate>Sat, 31 Jul 2021 10:52:16 +0800</pubDate><description><![CDATA[JZ25-复杂链表的复制
题目：输入一个复杂链表（每个节点中有节点值，以及两个指针，一个指向下一个节点，另一个特殊指针random指向一个随机节点），请对此链表进行深拷贝，并返回拷贝后的头结点。（注意，输出结果中请不要返回参数中的节点引用，否则判题程序会直接返回空）。
示例:
输入:{1,2,3,4,5,3,5,#,2,#}
输出:{1,2,3,4,5,3,5,#,2,#}
/*
public class RandomListNode {
    int label;
    RandomListNode ]]></description><category></category></item><item><title><![CDATA[2021-07-28 JZ3 从头到尾打印单链表]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/119190269</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/119190269</guid><author>YYY_J</author><pubDate>Wed, 28 Jul 2021 21:21:24 +0800</pubDate><description><![CDATA[JZ3 从头到尾打印单链表
题目描述：
输入一个链表的头节点，按链表从尾到头的顺序返回每个节点的值（用数组返回）。
/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
publi]]></description><category></category></item><item><title><![CDATA[2021-07-26 Leetcode409:最长回文串]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/119103127</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/119103127</guid><author>YYY_J</author><pubDate>Mon, 26 Jul 2021 10:12:48 +0800</pubDate><description><![CDATA[Leetcode409:最长回文串
给定一个包含大写字母和小写字母的字符串，找到通过这些字母构造成的最长的回文串。
在构造过程中，请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。
**最长回文串的求法：**如果字符出现的次数为偶数次，则直接相加；如果字符出现的次数为奇数次，则结果每次加出现次数-1；如果没有出现奇数次的字符，则直接返回结果；如果出现了奇数次的字符，则返回结果+1。
class Solution {
    public int longestPalindrome(String s)]]></description><category></category></item><item><title><![CDATA[2021-07-20 LeetCode:反转链表]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/118934503</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/118934503</guid><author>YYY_J</author><pubDate>Tue, 20 Jul 2021 15:07:28 +0800</pubDate><description><![CDATA[LeetCode:反转链表
反转链表。
递归反转整个链表。可以使用迭代或递归来实现。
迭代或者递归的代码如下
class Solution {
    public ListNode reverseList(ListNode head) {
        //迭代
        // ListNode cur = null;
        // ListNode pre = head;
        // while(pre!=null){
        //     ListNode temp ]]></description><category></category></item><item><title><![CDATA[LeetCode:二叉搜索树的第k大节点]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/109764815</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/109764815</guid><author>YYY_J</author><pubDate>Wed, 18 Nov 2020 09:54:27 +0800</pubDate><description><![CDATA[LeetCode:二叉搜索树的第k大节点
给定一颗二叉树，返回其第K大节点。
首先的思路就是中序遍历一颗二叉树，得到的结果是有序的，然后从得到的队列中找出第K大的数
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 *]]></description><category></category></item><item><title><![CDATA[LeetCode:根据身高重建队列]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/109744682</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/109744682</guid><author>YYY_J</author><pubDate>Tue, 17 Nov 2020 21:40:48 +0800</pubDate><description><![CDATA[LeetCode:根据身高重建队列
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对 (h, k) 表示，其中 h 是这个人的身高，k 是应该排在这个人前面且身高大于或等于 h 的人数。 例如：[5,2] 表示前面应该有 2 个身高大于等于 5 的人，而 [5,0] 表示前面不应该存在身高大于等于 5 的人。
编写一个算法，根据每个人的身高 h 重建这个队列，使之满足每个整数对 (h, k) 中对人数 k 的要求。
来源：力扣（LeetCode）
链接：https://leetcode-cn.com]]></description><category></category></item><item><title><![CDATA[LeetCode:寻找二叉树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/109727596</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/109727596</guid><author>YYY_J</author><pubDate>Mon, 16 Nov 2020 19:35:04 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[算法：LeetCode 从上到下打印二叉树]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/109707735</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/109707735</guid><author>YYY_J</author><pubDate>Sun, 15 Nov 2020 19:34:16 +0800</pubDate><description><![CDATA[算法：LeetCode 从上到下打印二叉树
从上到下按层打印二叉树，同一层的节点按从左到右的顺序打印，每一层打印到一行。
容易想到的是层序遍历，利用队列来实现，若要每一层打印到一行，每次需要读取队列中元素的个数来判断当前行有多少个元素
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     T]]></description><category></category></item><item><title><![CDATA[算法：LeetCode328.奇偶链表]]></title><link>https://blog.youkuaiyun.com/YYY_J/article/details/109681015</link><guid>https://blog.youkuaiyun.com/YYY_J/article/details/109681015</guid><author>YYY_J</author><pubDate>Fri, 13 Nov 2020 19:23:29 +0800</pubDate><description><![CDATA[LeetCode328.奇偶链表
给定一个单链表，把所有的奇数节点和偶数节点分别排在一起。请注意，这里的奇数节点和偶数节点指的是节点编号的奇偶性，而不是节点的值的奇偶性。
请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1)，时间复杂度应为 O(nodes)，nodes 为节点总数。
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/odd-even-linked-list
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
代码]]></description><category></category></item></channel></rss>