摘要: 问题:判断二叉树是否为镜像二叉树分析:递归判断,根节点单独判断,然后递归左结点和右结点,之后每次一起递归左结点的左结点和右结点的右结点比较,左结点的右结点和右结点的左结点比较/** * Definition for binary tree * struct TreeNode { * int ... 阅读全文
posted @ 2014-08-04 16:33 calmound 阅读(1246) 评论(0) 推荐(0) 编辑
摘要: 问题:n个结点总共有多少个二叉搜索树分析:n=1,sum1=1 n=2,sum2=2; n=3,sum3=2(头结点为1)+1(头结点为2)+2(头结点为3) n=4,sum4=5(头结点为1,sum3)+2(头结点为2,sum1*sum2)+2(头结点为3,sum2*sum1)+... 阅读全文
posted @ 2014-08-04 11:31 calmound 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 问题:判断二叉树是否为平衡二叉树分析:树上的任意结点的左右子树高度差不超过1,则为平衡二叉树。 搜索递归,记录i结点的左子树高度h1和右子树高度h2,则i结点的高度为max(h1,h2)=1,|h1-h2|>1则不平衡c++/** * Definition for binary tree * ... 阅读全文
posted @ 2014-08-04 11:04 calmound 阅读(1272) 评论(6) 推荐(1) 编辑
摘要: 问题:找出只出现一次的数,其他数出现了三次分析:将数转化为二进制的位,数出现了三次相当于其对应的二进制上每个位置出现了3次,这里有个抽象的地方就是,例如数中包含1,3两个其二进制的第一位都包含1, 怎么区分,其实并不需要区分,无论是数字3的还是数字1的二进制第一位的1都无所谓,因为我们完全可以... 阅读全文
posted @ 2014-08-04 10:13 calmound 阅读(3212) 评论(0) 推荐(0) 编辑