- 博客(5)
- 收藏
- 关注
转载 二叉树的层序遍历
class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector <vector <int>> ret; if (!root) { return ret; } queue <TreeNode*> q; q.push(root); ...
2022-03-20 22:53:54
311
原创 不同的二叉搜索树
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 解题思路主要是因为节点数可以算说是固定的由1到n的自然数,这样可以分别对n个数进行排列,每个数化成一次根,当根固定后根据二叉搜索树的性质(左子树比根小,右子树比根大)自然就把1---i-1和i+1—n分成两类,前者在i为根的左边,后者在根的右边,再利用递归,再对左边进行排列,右边进行排列,相乘即可。得到i为根的排列树个数,再将所有的相加即可。 /*classSoluti.
2022-03-05 21:30:35
518
转载 力扣 二叉树的最近公共祖先
方法一:递归 思路和算法 我们递归遍历整棵二叉树,定义 f_xf x 表示 xx 节点的子树中是否包含 pp 节点或 qq 节点,如果包含为 true,否则为 false。那么符合条件的最近公共祖先 xx 一定满足如下条件: (f_{\text{lson}}\ \&\&\ f_{\text{rson}})\ ||\ ((x\ =\ p\ ||\ x\ =\ q)\ \&\&\ (f_{\text{lson}}\ ||\ f_{\text{rson}})) (f...
2022-03-03 22:52:59
240
转载 删除排序链表中的重复元素 II给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
1.struct ListNode* deleteDuplicates(struct ListNode* head) { if (!head) { return head; } struct ListNode* dummy = malloc(sizeof(struct ListNode)); dummy->next = head; struct ListNode* cur = dummy; while (cur->next &a...
2022-02-28 17:23:53
683
原创 力扣习题链表
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 1.原创 structListNode*removeNthFromEnd(structListNode*head,intn){ inttotal,time; structListNode*tmp; tmp=head; for(total=1;tmp->next!=NULL;tmp=tmp->next,total++); ...
2022-02-26 20:39:33
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅