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.交换