构造二叉树

摘要: class Solution { public: //--入口函数 TreeNode* constructMaximumBinaryTree(vector<int>& nums){ return buildEachNode(nums,0,nums.size()-1); } //--主功能函数 /* 阅读全文
posted @ 2021-03-17 14:12 平ping 阅读(69) 评论(0) 推荐(0)

二叉树——leetcode 114. 二叉树展开为链表

摘要: void flatten(TreeNode root) { // base case,即最小 if (root == null) return; flatten(root.left); flatten(root.right); /**** 后序遍历 ****/ // 1、保存原来的左右节点,避免变换 阅读全文
posted @ 2021-03-14 11:26 平ping 阅读(71) 评论(0) 推荐(0)

二叉树——主辅函数——跨层匹配:Leetcode116. 填充每个节点的下一个右侧节点指针

摘要: 1 // 主函数 2 Node connect(Node root) { 3 //--主函数可以解决: 4 //--用递归函数遍历左右节点时, 5 //--root节点必定是完全没有兄弟节点的特殊情况, 6 //--将root节点独立处理 7 if (root == null) return nul 阅读全文
posted @ 2021-03-14 09:56 平ping 阅读(61) 评论(0) 推荐(0)

链表:从尾到头打印链表——剑指offer(牛客网 JZ3)

摘要: class Solution { /*思路:从尾到头打印链表,即逆序反转链表。 使用三个指针, 中间的pCur->next指向前面的pPre后, 用赋值移动pPre、pCur和pNext,避免了链表断链导致的不能移动到下一步*/ public: vector<int> printListFromTa 阅读全文
posted @ 2021-03-10 17:44 平ping 阅读(25) 评论(0) 推荐(0)

链表环类交点问题:双指针变体——快慢指针——142. 环形链表 II

摘要: 链表找环路的通用解法:快慢指针 使用方法: 给定两个指针,分别命名为 slow 和 fast,起始位置在链表的开头。每次 fast 前进两步, slow 前进一步。如果 fast可以走到尽头,那么说明没有环路;如果 fast 可以无限走下去,那么说明一定有环路,且一定存在一个时刻 slow 和 fa 阅读全文
posted @ 2021-03-07 18:22 平ping 阅读(69) 评论(0) 推荐(0)

贪心算法简单示例:leetcode——455. 分发饼干

摘要: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得 阅读全文
posted @ 2021-03-07 11:57 平ping 阅读(109) 评论(0) 推荐(0)

Leetcode746. 使用最小花费爬楼梯

摘要: /*Leetcode746. 使用最小花费爬楼梯*/ #define MIN(a,b) ((a)<(b)?(a):(b)) int minCostClimbingStairs(int* cost, int costSize) { int *minCost = (int *)calloc(costSi 阅读全文
posted @ 2021-03-06 21:47 平ping 阅读(82) 评论(0) 推荐(0)

cp -r的linux C语言实现

摘要: #include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #include<unistd.h> #include<string.h> #include<dirent.h> #define ARGS_C 阅读全文
posted @ 2021-02-24 21:42 平ping 阅读(502) 评论(0) 推荐(0)

makefile简单的笔记

摘要: 初步: main:main.o func.o gcc mian.o func.o -o main #生成main函数 main.o:mian.c gcc -c main.c -o main.o #生成main.o func.o:func.c gcc -c func.c -o func.o #生成fu 阅读全文
posted @ 2021-02-22 22:18 平ping 阅读(89) 评论(0) 推荐(0)

todo

摘要: 参考: https://book.douban.com/review/5164571/#comments 以下的原则,是我在工作中总结的: 复制代码是危险的。如果有两段相同的代码,几乎可以说一定是有问题的,因为每次改动,要维护两段代码 ?尽量减少IO操作,如操作数据库,网络发送,甚至printf , 阅读全文
posted @ 2021-02-21 16:15 平ping 阅读(126) 评论(0) 推荐(0)