二叉树的遍历访问的实现
引入我们从小学二年级开始,就学过二叉树了(bushi) 那么,如何用编程实现二叉树的遍历呢? (这里使用c艹) 1234567struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}}; 二叉树的每个结点都是如此定义的 遍历方法分为前序,中序,后序三种遍历方法。前序是从根结点开始,访问到最左侧第一个叶子结点后,访问右侧叶子,然后返回上一级(不访问),访问同级右侧结点,然后往下按照先左后右的顺序访问,等左子树访问完毕后,访问右子树。 中序是从左侧第一个叶子结点开始,返回上一级(访问),下一级右侧,返回上上级,右侧最下方左侧结点,然后返回上一级(访问),以此类推。 后序是按从左到右的顺序,左侧第一个叶子结点开始,访问完上一级结点左侧后,去右侧,然后返回上一级。 每种遍历方法又分为递归和非递归两种非递归方法1....
双指针与滑动窗口
题1题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素.元素的顺序可以改变.然后返回数组中与 val 不同的元素的数量. 假设 nums 中不等于 val 的元素数量为 k,要通过此题,你需要执行以下操作: 修改 nums 数组,使得 nums 的前 k 个元素包含所有不等于 val 的元素. 返回 k 的值.nums 中的其他元素和数组大小不重要. 方法一:双指针思路及算法:由于题目要求删除数组中等于 val 的元素,因此输出数组的长度一定小于等于输入数组的长度,我们可以把输出的数组直接写在输入数组上.可以使用双指针:右指针 right 指向当前将要处理的元素,左指针 left 指向下一个将要赋值的位置. 如果右指针指向的元素不等于 val,它一定是输出数组的一个元素,我们就将右指针指向的元素复制到左指针位置,然后将左右指针同时右移; 如果右指针指向的元素等于 val,它不能在输出数组里,此时左指针不动,右指针右移一位. 整个过程保持不变的性质是:区间 [0,left) 中的元素都不等于...
Unity(一)
平动和转动123456789101112131415161718192021222324252627public class instance : MonoBehaviour{ public float moveSpeed = 10f; public float turnSpeed = 50f; private void Update()//update是每帧更新的函数 { if(Input.GetKey(KeyCode.UpArrow)) { transform.Translate(Vector3.forward * moveSpeed*Time.deltaTime); } //translate是平移,vector3是一个三维数组,forward代表(0,0,1) //deltatime是两帧之间的时间间隔 //没有使用 Time.deltaTime 的问题 //如果你只是使用...
Github拒绝push
Github 拒绝了你的push你有没有出现以下问题? 1234 ! [remote rejected] HEAD -> main (push declined due to repository rule violations)error: failed to push some refs to 'https://github.com/cmzcc/cmzcc.github.io.git'FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html 今天本人在像往常一样运行hexo d...
c++中关于深拷贝与重载赋值运算符的思考
深拷贝12345678910111213141516171819202122232425262728293031323334353637383940414243class instance{public: int age; int* height;instance(int a,int h){ age = a; cout << a << endl; height=new int(h); cout << *height << endl;}~instance(){ if (height != NULL) { delete height; height = NULL; cout << "已清空" << endl; }}instance(const instance& p){ age = p.age; //height = p.height;编译器默认实现的就是这行代码 //深拷贝如下 height =...



