首页 > 资料专栏 > HRM > 人力资源 > 面试甄选 > 招聘试题_腾讯2014校园招聘C语言笔试题DOC

招聘试题_腾讯2014校园招聘C语言笔试题DOC

新校园
V 实名认证
内容提供者
资料大小:16KB(压缩后)
文档格式:DOC
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2022/8/10(发布于江苏)

类型:积分资料
积分:10分 (VIP无积分限制)
推荐:升级会员

   点此下载 ==>> 点击下载文档


文本描述
1.???????? 输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
struct ListNode
{
????? int?????? m_nKey;
????? ListNode* m_pNext;
};
A:??? 递归方法逆序输出,栈方法逆序输出。
(任意实现一种既可)
void PrintListUsingRecursicve(pListNode head)
{
??? if(head!=NULL)
??? {
????? PrintListUsingRecursicve(head->m_pNext);
????? printf("%d/n",head->m_nKey);
??? }
}
void PrintListUsingStack(pListNode head)
{
??? Stack s;
??? s=0;
??? pListNode p=head;
?? do{
?????? push(&s,p->m_nKey);
?????? p=p->m_pNext;
?? }while(p!=NULL);
?? while(!IsEmpty(&s))
?? {
?????? printf("%d/n",pop(&s));
?? }
}
2.???????? 二元树的深度
题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define MAXLEN 100
#define MAXNUM 10
typedef int Tree[MAXLEN];
Tree bt;
int GetDeep(int i)
{
??? int l=0,r=0;
??? if(bt[i*2]!=-1)
??? {
????? l=GetDeep(i*2)+1;
??? }
??? if(bt[i*2+1]!=-1)
??? {
??????? r= GetDeep(i*2+1)+1;
??? }
??? return l>r?l:r;
}
int main()
{
??? int i=0;
??? memset(bt,-1,sizeof(bt));
??? for(i=1;i<=MAXNUM;i++)
????? bt[i]=i;
?? bt[(i-1)*2]=i*2;
?? printf("%d /n",GetDeep(1));
?? return 0;
}
?
3.???????? 整数的二进制表示中1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个