上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: Top100(中) 二叉树 94. 二叉树的中序遍历 int *res; void inorder(struct TreeNode *root, int *returnSize) { if (root == NULL) return; // 左根右 inorder(root->left, retur 阅读全文
posted @ 2024-01-17 01:31 n1ce2cv 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 链表中等题(下) LCR 028. 扁平化多级双向链表 class Solution { public: // 递归 Node *generate(Node *head) { if (head == nullptr) return nullptr; // 把后面的扁平化 Node *next = g 阅读全文
posted @ 2024-01-10 00:55 n1ce2cv 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Top100(上) 散列 1. 两数之和 struct MyListNode { int val; int pos; struct MyListNode *next; }; // 散列表 typedef struct { struct MyListNode *data; } MyHashMap; c 阅读全文
posted @ 2024-01-09 14:52 n1ce2cv 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 链表中等题(上) 2807. 在链表中插入最大公约数 // 辗转相除 int gcd(int a, int b) { if (a % b == 0) return b; return gcd(b, a % b); } struct ListNode *insertGreatestCommonDivi 阅读全文
posted @ 2024-01-07 02:48 n1ce2cv 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 前缀和简单题 2574. 左右元素和的差值 int *leftRightDifference(int *nums, int numsSize, int *returnSize) { int *res = (int *) malloc(sizeof(int) * numsSize); *returnS 阅读全文
posted @ 2024-01-03 14:05 n1ce2cv 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 二分法 222. 完全二叉树的节点个数 /* * 完全二叉树编号从1开始 * 如果第k个节点位于第h层,则k的二进制表示包含h+1位, * 其中最高位是1,其余各位从高到低表示从根节点到第k个节点的路径, * 0表示移动到左子节点,1表示移动到右子节点。 * 通过位运算得到第k个节点对应的路径,判断 阅读全文
posted @ 2024-01-02 14:16 n1ce2cv 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 二叉树遍历 先序 递归 int *res; void preorder(struct TreeNode *root, int *returnSize) { if (root == NULL) return; // 根左右 res[(*returnSize)++] = root->val; preor 阅读全文
posted @ 2023-12-31 19:28 n1ce2cv 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 二叉树简单题 2331. 计算布尔二叉树的值 bool evaluateTree(struct TreeNode *root) { // 递归出口 if (root == NULL) return root; if (root->left == NULL && root->right == NULL 阅读全文
posted @ 2023-12-31 02:13 n1ce2cv 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 哈希表 705. 设计哈希集合 // 拉链法 struct ListNode { int val; struct ListNode *next; }; typedef struct { struct ListNode *data; } MyHashSet; // 模 const int hashSi 阅读全文
posted @ 2023-12-28 18:39 n1ce2cv 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 算法笔记 散列 字符串散列 // 把字符串当成26进制数,转换成10进制,建立映射关系 int hash(char S[], int len) { int res = 0; for (int i = 0; i < len; ++i) { res = res * 26 + (S[i] - 'A'); 阅读全文
posted @ 2023-12-28 15:12 n1ce2cv 阅读(5) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页