剑指offer第七部分

构造函数初始化列表中成员变量初始化顺序取决于声明顺序而不是初始化列表顺序
* 做题之前,考虑清楚输入是否合法,字符串是否为空,边界检查是否越界,考虑特殊输入测试,三种抛出异常的方法以及各自的优缺点:
* 功能测试(整数、负数、0)
* 边界测试(最大正数,最小负数)
* 特殊输入测试(输入字符串是否为空、非数字、null)
`
enum ststus{valid=0,invalid};
int g_statu=valid;
int atoi(char* str)
{
 g_statu=invalid;
 long long num=0;
 if(str!=nullptr&&*str!=’\0’
 {
   bool minus=false;
   if(*str==’+’)
    str++;
   else if(*str==’-‘)
   {
     minus=true;
     str++;
    }
    if(str!=’\0’)
    {
     num=strtoint(str,minus);
    }
  return (int) num;
  }
  long long strtoint(char *str,bool minus)
  {
   long long num=0;
   while(*str!=’\0’)
   {
    if(*str>=’0’&& *str<=’9’)
    {
     int flag=minus?-1:1;
     num=num* 10+(*str-‘0’);
minus&&num>0x80000000)
     {
      num=0;
      break;
     }
     
    str++;
    else
    {
     num=0;
     break;
    ]
  }
  if(*str=’\0’)
   gstatus=invalid;
  return num;
  }

树种两个节点的最低公共祖先
思路:如果是BST,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值