剑指offer

1.丑数:只有2,3,5因子,那么意思就是说反复去除2,3,5,如果结果能化为1,那么就是丑数,这是法一,法二:int  * p=new   int 【参数】;用三个指针指向数组头,三个指针代表2,3,5,的,指针找第一个乘以2,后大于当前最后一个丑数的位置。找第一个乘以3后大于最后一个丑数的位置。最后这三个位置的乘以2,3,5.最小的就是下一个丑数。明白了吗?应该可以明白。

2.是不是二擦平衡树:

法一:首先是写树节点的深度的函数(null;return 0;int left=左;int  right=右;return max(左,右)+1)

进来肯定是判空,如果为空,true,空也是平衡二叉树,如果不空,获取左子树的高度,获取右子树的高度,相减大于1,小于-1。false。然后递归左右子树。

法二:BTnode   *bt;遍历一遍,  

bool    isBalanced (BTNode   *pt,int   *length){
   如果为空;*length=0;return true;
   int   left,right;
  if(递归左边  &&  递归右边)
  {     如果 left-right>=-1  <=1   为什么不>=1  <=-1 返回false。因为想把返回false的情况全部放到最后面。
       *length=左右最大加一;
       return   true;
  }

   能到这里 return  false ;

}
3.交换

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值