
数据结构
爱学习的阿强
这个作者很懒,什么都没留下…
展开
-
判断链表是否存在环——快慢指针
class Solution {public: bool hasCycle(ListNode *head) { ListNode* slow=head; ListNode* fast=head; while(fast!=NULL&&fast->next!=NULL){ slow=slow->next; fast=fast->next->next; .原创 2020-12-21 16:26:14 · 91 阅读 · 0 评论 -
117. 填充每个节点的下一个右侧节点指针 II
给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。算法思想:用队列层次遍历树,首先把根节点放入队列,并且每次记录队列大小k,然后将k个元素依次出队,依次加入每个元素的左孩子、右孩子,再循环。这样保证每趟遍历的都是同一层的结点。No原创 2020-11-29 18:52:41 · 92 阅读 · 0 评论 -
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。二叉搜索树的性质:左子树都比当前结点小,右子树都比当前结点大。如果两个节点值都小于根节点,说明他们都在根节点的左子树上,我们往左子树上找。如果两个节点值都大于根节点,说明他们都在根节点的右子树上,我们往右子树上找。如果一个节点值大于根节点,一个节点值小于根节点,说明他们他们一个在根节点的左子树上一个在根节点的右子树上,那么根节点就是他们的最近公共祖先节点。对比二叉树那题,显然发现二叉搜索树根据它的性质,使搜索方向非常明确。Tree.原创 2020-11-25 17:13:15 · 106 阅读 · 0 评论 -
剑指 Offer 68 - II. 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。分两种情况讨论最近公共节点如何判断递归写法TreeNode* ans; bool dfs(TreeNode* root, TreeNode* p, TreeNode* q){ if(root==nullptr){ return false; } bool lson=dfs(root->left,p,q);//递归 bool rson=dfs.原创 2020-11-25 17:05:38 · 99 阅读 · 0 评论 -
单链表结构体的定义
这里写自定义目录标题单链表结构体的定义单链表结构体的定义typedef struct LNode {//本名 int data; //数据域 struct LNode* next; //指针域}LNode, * LinkList;//别名,LinkList代表表头注意啊!这个typedef起到了取别名的作用,如果不加* LinkList表头指针无法识别的!...原创 2020-08-12 12:00:38 · 3371 阅读 · 0 评论 -
为什么MySQL数据库索引选择使用B+树?
https://www.cnblogs.com/tiancai/p/9024351.html转载文章,侵权联系我删除!转载 2020-03-19 12:35:35 · 113 阅读 · 0 评论