C++
FW Pro Plus
这个作者很懒,什么都没留下…
展开
-
二叉树的前中后非递归遍历
二叉树的前中后非递归遍历算法思想:前序:定义一个栈,以根右左顺序入栈,再依次出栈中序:先遍历左子树,再依次取栈顶元素进行回退,直到右子树不空,继续依次入栈后序:定义两个栈,先将根结点入第二个栈中,再将左右结点按左右顺序入进第一个栈 ,再将其出栈进入第二个栈,第二个栈就是(从栈顶到栈底)右左根的次序,再将第二个栈依次弹栈就是后续遍历代码 vector<vector<int> > threeOrders(TreeNode* root) { // write c原创 2021-05-07 23:02:41 · 113 阅读 · 0 评论 -
螺旋矩阵
螺旋矩阵给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。示例1输入[[1,2,3],[4,5,6],[7,8,9]]返回值[1,2,3,6,9,8,7,4,5]算法思想:由于传入一个二维数组,可以定义四个边界,依次循环走,注意处理边界条件代码:class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix)原创 2021-05-07 22:27:26 · 144 阅读 · 0 评论 -
二叉树的层序遍历以及Z型遍历
二叉树的层序遍历:给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]算法思想:使用队列,每层入队列一边入一边出;代码: vector<vector<int> > levelOrder(TreeNode* root) { // write code here vector<int>原创 2021-05-07 18:39:58 · 290 阅读 · 0 评论 -
大数之和
大数之和题目描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)算法思想:要求以字符串形式返回,直接相当于写一个加法的运算。直接从末位开始相加,定义一个bit进位,两数相加之和大于十,将bit置为1,否则置为零。代码:string solve(string s, string t) { // write code here string str;原创 2021-05-07 17:43:34 · 389 阅读 · 0 评论 -
C++继承
继承是面向对象程序设计中使代码可以复用的重要手段,可以允许在保持原有类特性的基础上对其进行扩展,从而产生新的类称作派生类。多态是在不同的继承关系的类对象去调用同一函数而产生了不同的行为通过定义和重写虚函数,通过基类的指针或引用指向派生类对象,通过基类的指针或引用调用虚函数实现多态。(调用相同接口,表现不同结果)虚函数被virtual修饰的类成员函数(就是允许派生类对其进行重写)虚函数的重写:在派生类中的一个与基类虚函数完全相同的虚函数,即返回类型、函数名与参数列表完全相同。虚析构 即在析构函原创 2021-03-09 17:12:42 · 72 阅读 · 0 评论