![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
nwpubear
独善其身
展开
-
c++重载,覆盖,重写的区别
转自:https://blog.csdn.net/zx3517288/article/details/48976097 基本概念: 重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。示例:class A{pub...转载 2018-08-06 13:18:54 · 416 阅读 · 0 评论 -
最低公共祖先
最低公共祖先方法一:递归实现 对于树中两个节点而言,最低公共祖先LCA其实就是该节点左边和右边分别包含A,B两个节点。只有A,B分别在其左右子树中。首先判断该节点是否非空,空返回NULL,表示既没有A,有没有B如果该节点本身是A,或者B中的一个则返回该节点递归的判断该节点的左右子树,如果左右子树都不是返回NULL,说明左右子树分别包含A,B那么就可以返回root。(注意,这...原创 2018-08-06 22:42:53 · 486 阅读 · 0 评论 -
完成字符串到整数的转换
字符串到整数的转换 可以考虑对于原有的atoi的实现,不仅仅需要计算得到数值,对于其中的特殊情况需要进行仔细斟酌,区分,提高程序的鲁棒性。首先字符串首字符可以是正负首字符是正负的时候,后续必须得有非空的数字字符串,否则返回0,其余遇到非数字字符的情况都是判错,返回0。对于”0”返回0,为了区分两种0,需要添加一个全局或者传入的区分变量,本文不讨论该种情况,但是需要知道。空字...原创 2018-08-07 17:32:11 · 187 阅读 · 0 评论 -
不用加减乘除做加法
不用加减乘除做加法 不用加减乘除做加法其实就需要利用位运算来进行,有两点需要注意1. sum=num1^num2;2. carry=(num1&num2)<<1;class Solution {public: int Add(int num1, int num2) { while(num2!=0){ ...原创 2018-08-07 17:58:30 · 99 阅读 · 0 评论 -
如何计算1+2+3+...+n的值
利用函数数组 不能使用递归,但是可以使用两个函数的数组,随着n到0选择基准函数,其他时候选择调用下降函数//使用一个函数指针数组,装下递归基函数和递归下降函数//关键在于如何选择函数,在0时候选择基准,非0时候选择下降typedef int (*fun) ( int); //定义函数指针类型class Solution {public: static int S...原创 2018-08-07 19:36:06 · 3059 阅读 · 0 评论