分类: 计算机

33 篇文章

CS61B|关于Merge信息的显示
问题描述 这样的时候合并信息是正常的 private static String getString(Blob curCommitBlob, Blob givenCommitBlob) { byte[] curFileContent = new byte[0]; if (curCommitBlob …
二叉树Part05
654.最大二叉树 思路 没啥特别的思路,前序遍历加递归即可 注意 顾名思义,begin()就是指向容器第一个元素的迭代器 如果你是初学者,你可能会猜到 end()是指向容器最后一个元素的迭代器, 但事实并非如此,实际上,end()是指向容器最后一个元素的下一个位置的迭代器 如果不做判断,就会出现溢…
CS61C-Lab02 Summary
结构体初始化器 Str make_Str(char *str) { /* Below is a designated initializer. It creates a Str struct and initializes its data field to str and its len fiel…
二叉树Part04
513.找树左下角的值 题目描述:给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。 我的解法(迭代法) 思路 用层序遍历,每一层只保存最左边的值,每遍历一层再更新。 层序遍历 我的写法 个人感觉是不能通过的,但是还是跑通了?? 下面的写法是…
二叉树Part03
110.平衡二叉树 题目描述:给定一颗二叉树,判断它是否是平衡二叉树。 递归法 后序遍历 本题适合采用后序遍历,先遍历完左右子树,从底部开始累加高度。 后序遍历 class Solution { public: int getHight(TreeNode *node) { // 终止条件 if (!…
二叉树Part02
226.翻转二叉树 初印象: 感觉层序遍历一遍再倒过来就好了... 思路 实际上只要遍历每个节点并反转其左右孩子就可以了,因此用其他遍历方法都能做,除了递归法的中序遍历做不了,因为递归法的中序遍历会将某些节点的左右孩子翻转两次(按照左中右的顺序的话,先判断左,翻转,在判断右,这样的话此时的右就是刚刚…
二叉树Part01
二叉树的种类 完全二叉树 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(h从1开始),则该层包含 1~ 2^(h-1) 个节点。 满二叉树 二叉搜索树 前面介绍的树,都没有数值的,…
栈与队列Part02
前置知识 用到了stoi(),以及to_string()两个函数 头文件#include<cstring> stoi() 和 atoi() stoi 的参数是 const string* 类型 atoi 的参数是 const char* 类型 stoi() 会对转化后的数进行检查,判断是…
栈与队列part01
关于栈和队列 STL 中的 stack 容器提供了一众成员函数以供调用,其中较为常用的有: 元素访问 st.top() 返回栈顶 修改 st.push() 插入传入的参数到栈顶 st.pop() 弹出栈顶 容量 st.empty() 返回是否为空 st.size() 返回元素数量 STL 中的 st…