<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[knockkk的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/knockkk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; knockkk]]></copyright><item><title><![CDATA[二叉树的层序遍历]]></title><link>https://blog.youkuaiyun.com/knockkk/article/details/123623860</link><guid>https://blog.youkuaiyun.com/knockkk/article/details/123623860</guid><author>knockkk</author><pubDate>Sun, 20 Mar 2022 22:53:54 +0800</pubDate><description><![CDATA[class Solution {
public:
  vector&lt;vector&lt;int&gt;&gt; levelOrder(TreeNode* root) {
    vector &lt;vector &lt;int&gt;&gt; ret;
    if (!root) {
      return ret;
    }

    queue &lt;TreeNode*&gt; q;
    q.push(root);
   ...]]></description><category></category></item><item><title><![CDATA[不同的二叉搜索树]]></title><link>https://blog.youkuaiyun.com/knockkk/article/details/123301467</link><guid>https://blog.youkuaiyun.com/knockkk/article/details/123301467</guid><author>knockkk</author><pubDate>Sat, 05 Mar 2022 21:30:35 +0800</pubDate><description><![CDATA[给你一个整数 n ，求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种？返回满足题意的二叉搜索树的种数。

解题思路主要是因为节点数可以算说是固定的由1到n的自然数，这样可以分别对n个数进行排列，每个数化成一次根，当根固定后根据二叉搜索树的性质（左子树比根小，右子树比根大）自然就把1---i-1和i+1—n分成两类，前者在i为根的左边，后者在根的右边，再利用递归，再对左边进行排列，右边进行排列，相乘即可。得到i为根的排列树个数，再将所有的相加即可。

/*classSoluti.]]></description><category></category></item><item><title><![CDATA[力扣 二叉树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/knockkk/article/details/123266102</link><guid>https://blog.youkuaiyun.com/knockkk/article/details/123266102</guid><author>knockkk</author><pubDate>Thu, 03 Mar 2022 22:52:59 +0800</pubDate><description><![CDATA[方法一：递归
思路和算法

我们递归遍历整棵二叉树，定义 f_xf
x
​
 表示 xx 节点的子树中是否包含 pp 节点或 qq 节点，如果包含为 true，否则为 false。那么符合条件的最近公共祖先 xx 一定满足如下条件：

(f_{\text{lson}}\ \&amp;\&amp;\ f_{\text{rson}})\ ||\ ((x\ =\ p\ ||\ x\ =\ q)\ \&amp;\&amp;\ (f_{\text{lson}}\ ||\ f_{\text{rson}}))
(f...]]></description><category></category></item><item><title><![CDATA[删除排序链表中的重复元素 II给定一个已排序的链表的头 head ， 删除原始链表中所有重复数字的节点，只留下不同的数字 。返回 已排序的链表 。]]></title><link>https://blog.youkuaiyun.com/knockkk/article/details/123187501</link><guid>https://blog.youkuaiyun.com/knockkk/article/details/123187501</guid><author>knockkk</author><pubDate>Mon, 28 Feb 2022 17:23:53 +0800</pubDate><description><![CDATA[1.struct ListNode* deleteDuplicates(struct ListNode* head) {
  if (!head) {
    return head;
  }

  struct ListNode* dummy = malloc(sizeof(struct ListNode));
  dummy-&gt;next = head;

  struct ListNode* cur = dummy;
  while (cur-&gt;next &a...]]></description><category></category></item><item><title><![CDATA[力扣习题链表]]></title><link>https://blog.youkuaiyun.com/knockkk/article/details/123155463</link><guid>https://blog.youkuaiyun.com/knockkk/article/details/123155463</guid><author>knockkk</author><pubDate>Sat, 26 Feb 2022 20:39:33 +0800</pubDate><description><![CDATA[给你一个链表，删除链表的倒数第 n 个结点，并且返回链表的头结点。

1.原创

structListNode*removeNthFromEnd(structListNode*head,intn){

inttotal,time;

structListNode*tmp;

tmp=head;

for(total=1;tmp-&gt;next!=NULL;tmp=tmp-&gt;next,total++);

...]]></description><category></category></item></channel></rss>