DNS:域名解析
FTP:文件传输
www:信息查询
ADSL:非对称数字用户线路,数据传输
第六层有9个叶结点,题目要求最多的结点数,可以推测还有第7层。第6层一共的结点数为32,减去9个叶子结点,(考虑最多结点情况下)剩下23个结点都有左右子树,故第7层一共有23*2=46个结点,最后加上前6层的结点数26-1=63, 46+63=109,因此最多的结点数为109.
快排的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
可以设置两个指针,一个从前往后遍历,一个从后往前遍历。先从后往前遍历,找到比基准小的和基准交换,然后从前往后遍历,找到比基准大的和基准交换…这道题一趟排序的具体交换过程如下:
初始序列:30 15 40 28 50 10 70,注意先从后往前找。
第一次交换30和10,因为10比30小,此时序列:10 15 40 28 50 30 70,然后再从前向后找
第二次交换40和30,因为40比30大,此时序列:10 15 30 28 50 40 70,然后再从后向前找
第三次交换30和28,因为28比30小,此时序列:10 15 28 30 50 40 70,一趟排序结束。
class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int val) {
this.val = val;
}
}
public class Main2 {
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
if (root.left == null&&root.right == null) {
return 1;
}
return 1+(maxDepth(root.left)>maxDepth(root.right)?maxDepth(root.left):maxDepth(root.right));
}
//判断是否为平衡二叉树
public boolean isBalanced(TreeNode root) {
if (root == null) {
return true;
}
if (root.left == null&&root.right == null) {
return true;
}
int leftDepth = maxDepth(root.left);
int rightDepth = maxDepth(root.right);
return (leftDepth-rightDepth<=1&&leftDepth-rightDepth>=-1)
&&isBalanced(root.left)&&isBalanced(root.right);
}
}