2015错题整理集

题目答案

D

题目解析

前序遍历的顺序依次为“根结点-左子树-右子树”,中序遍历的顺序依次为“左子树-根结点-右子树”。所以当二叉树只有根结点或非叶子结点只有右子树时,前序遍历和中序遍历的顺序都退化成了:根、右子树,故二者得到的序列相同。要使中序遍历序列与前序遍历序列相同,每个非叶子结点都不能有左子树。

题目答案

Ab

题目解析

本题考查指针的应用。要注意 p1p2ab都是指针,a=b是指将b指向的地址赋值给a,既让a指向b所指向的地址,(*a)++,是将a指向的地址里的东西 +1。这个时候的a指向c2的地址,所以(*a)++,会使得 c2=a+1=b。

 

题目答案

填空位置 ①:

offset = 4

填空位置 ②:

(offset + dayNum[i]) % 7

填空位置 ③:

dayNum[m]

填空位置 ④:

i

填空位置 ⑤:

(offset + i) % 7

题目解析

首先我们先看到较为简单的第三、四两空,这两空对应的过程显然就是输出日历了。for循环内应该是对每一天输出一个日期,因此循环范围就应该是这个月的天数,也就是dayNum[m]。什么时候应该输出换行符呢?要么就是所有日期输出完毕了(i==dayNum[m]),要么就是输出了一个星期之后进行换行,所以这里对应的就是每个星期结束,也就是当i为7的倍数时进行换行。下面再回过来看前两空。通过上面一个for循环可以看出来这个offset是用来控制月历开始的时候要输出多少的空位,再参照题目给出的第一个月的月历就可以知道offset初值应该是 4,即第一空对应需要做的事情。但是这个offset只是对于第一个月正确,因此需要再加上所有小于 11 月的月份的天数,计算offset的方法即为(offset+dayNum[i])%7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值