所在位置:大風車考試網(wǎng) > 招聘筆試題 > 正文

騰訊校園招聘C語言筆試題和面試題答案目

大風車考試網(wǎng)

1. 輸入一個鏈表的頭結(jié)點,從尾到頭反過來輸出每個結(jié)點的值。鏈表結(jié)點定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode* m_pNext;

  };

  A: 遞歸方法逆序輸出,棧方法逆序輸出。

  (任意實現(xiàn)一種既可)

  void PrintListUsingRecursicve(pListNode head)

  {

  if(head!=NULL)

  {

  PrintListUsingRecursicve(head->m_pNext);

  printf("%d/n",head->m_nKey);

  }

  }

  void PrintListUsingStack(pListNode head)

  {

  Stack s;

  s.top=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. 二元樹的深度

  題目:輸入一棵二元樹的根結(jié)點,求該樹的深度。從根結(jié)點到葉結(jié)點依次經(jīng)過的結(jié)點(含根、葉結(jié)點)形成樹的一條路徑,最長路徑的長度為樹的深度。

  #include

  #include

  #include

  #include

  #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. 整數(shù)的二進制表示中1的個數(shù)

  題目:輸入一個整數(shù),求該整數(shù)的二進制表達中有多少個1。例如輸入10,由于其二進制表示為1010,有兩個1,因此輸出2。

  (關(guān)鍵是能不能想到后面的那個方法,只要想到這個方法既可)

  int Bit1inInt(int i)

  {

  int result=0;

  do{

  result+=i&1;

  }while(i=i>>1);

  return result;

  }

4. 從上往下遍歷二元樹

  題目:輸入一顆二元樹,從上往下按層打印樹的每個結(jié)點,同一層中按照從左往右的順序打印。

  (先序,中序,后序三種方式實現(xiàn))

  如果從上往下,從左到右的話只有一種遍歷的方式:廣度優(yōu)先遍歷。

  #include

  #include

  #include

  #include

  #define MAXLEN 100

  #define MAXNUM 10

  typedef int Tree[MAXLEN];

  Tree bt;

  typedef struct queue

  {

  int begin,end;

  int space[MAXLEN];

  }Queue;

  int main()

  {

  int i=0;

  memset(bt,-1,sizeof(bt));

  for(i=1;i<=MAXNUM;i++)

  bt[i]=i;

  Queue qe;

  qe.begin=0;qe.end =0;

  qe.space[qe.end++]=bt[1];

  while(qe.begin!=qe.end)

  {

  if(bt[2*qe.space[qe.begin]]!=-1)//lchild

  {

  qe.space[qe.end++]=bt[2*qe.space[qe.begin]];

  }

  if(bt[2*qe.space[qe.begin]+1]!=-1)//rchild

  {

  qe.space[qe.end++]=bt[2*qe.space[qe.begin]+1];

  }

  qe.begin++;

  }

  printf("--------------------/n");

  for(i=0;i

  printf("%d ",qe.space[i]);

  return 0;

  }

  先序,中序,后序三種方式的只是遍歷二元樹

  typedef int Tree[MAXLEN];

  Tree bt;

  void PreOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  printf("%d ",bt[i]);

  PreOrderTraverse(i*2);//lchild

  PreOrderTraverse(i*2+1);//rchild

  }

  void InOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  InOrderTraverse(i*2);//lchild

  printf("%d ",bt[i]);

  InOrderTraverse(i*2+1);//rchild

  }

  void PostOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  PostOrderTraverse(i*2);//lchild

  PostOrderTraverse(i*2+1);//rchild

  printf("%d ",bt[i]);

  }

  int main()

  {

  int i=0;

  memset(bt,-1,sizeof(bt));

  for(i=1;i<=MAXNUM;i++)

  bt[i]=i;

  printf("/n---------------/n");

  PreOrderTraverse(1);

  printf("/n---------------/n");

  InOrderTraverse(1);

  printf("/n---------------/n");

  PostOrderTraverse(1);

  return 0;

  }

5. 查找鏈表中倒數(shù)第k個結(jié)點

  題目:輸入一個單向鏈表,輸出該鏈表中倒數(shù)第k個結(jié)點。鏈表的倒數(shù)第0個結(jié)點為鏈表的尾指針。鏈表結(jié)點定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode* m_pNext;

  };

  (最快的方法,只遍歷一遍)

  int FindCoundDownInList(pListNode head,int num)

  {

  pListNode p1,p2;

  p1=p2=head;

  while(num-->0 && p1!=NULL) p1=p1->m_pNext;

  if(p1==NULL) return 0;

  else{

  while(p1!=NULL)

  {

  p1=p1->m_pNext;

  p2=p2->m_pNext;

  }

  return p2->m_nKey;

  }

  }

  • 相關(guān)文章
  • 建設銀行金融基礎筆試題和面試題答案建設銀行金融基礎筆試題和面試題答案

    11、在各類金融機構(gòu)中,最典型的間接金融機構(gòu)是()。 A、投資銀行B、商業(yè)銀行C、證券公司D、中央銀行 參考答案:B 答案解析:商業(yè)銀行是最典型..

  • 建設銀行金融基礎筆試題和面試題答案建設銀行金融基礎筆試題和面試題答案

    以下整理的這套試題是2016年建設銀行金融基礎筆試?純(nèi)容,分享給大家了解。 1、金融工具在金融市場上能夠迅速地轉(zhuǎn)化為現(xiàn)金而不致遭受損失的能力是指金融工..

  • 中國建設銀行校招筆試題和面試題答案目中國建設銀行校招筆試題和面試題答案目

    31、證券回購市場上交易的證券主要是()。 A、國債B、股票C、存單D、票據(jù) 32、已知某商業(yè)銀行法定準備金存款100萬元,超額準備金存款200萬元,自留準..

  • 建設銀行金融基礎筆試題和面試題答案建設銀行金融基礎筆試題和面試題答案

    11、在各類金融機構(gòu)中,最典型的間接金融機構(gòu)是()。 A、投資銀行B、商業(yè)銀行C、證券公司D、中央銀行 參考答案:B 答案解析:商業(yè)銀行是最典型..

  • 建設銀行金融基礎筆試題和面試題答案建設銀行金融基礎筆試題和面試題答案

    以下整理的這套試題是2016年建設銀行金融基礎筆試?純(nèi)容,分享給大家了解。 1、金融工具在金融市場上能夠迅速地轉(zhuǎn)化為現(xiàn)金而不致遭受損失的能力是指金融工..

  • 中國建設銀行校招筆試題和面試題答案目中國建設銀行校招筆試題和面試題答案目

    31、證券回購市場上交易的證券主要是()。 A、國債B、股票C、存單D、票據(jù) 32、已知某商業(yè)銀行法定準備金存款100萬元,超額準備金存款200萬元,自留準..

  • 河北新聞網(wǎng)兩學一做知識競賽(試題+答案完整版)河北新聞網(wǎng)兩學一做知識競賽(試題+答案完整版)

    2016河北新聞網(wǎng)兩學一做知識競賽開賽啦,快來圍觀吧;顒觾(nèi)容為推動“兩學一做”學習教育深入開展,省委宣傳部、省委組織部組織開展“兩學一做”知識競賽活動,河北..

  • 河北新聞網(wǎng)兩學一做知識競賽活動試題答案河北新聞網(wǎng)兩學一做知識競賽活動試題答案

    2016年河北新聞網(wǎng)兩學一做知識競賽活動試題答案為推動“兩學一做”學習教育深入開展,省委宣傳部、省委組織部組織開展“兩學一做”大型知識競賽。此項活動由河北新聞..

  • 兩學一做學習教育知識競賽活動10篇兩學一做學習教育知識競賽活動10篇

    為隆重紀念中國共產(chǎn)黨建黨95周年,推進我市“兩學一做”學習教育深入開展,推動廣大黨員干部認真學好黨章黨規(guī)和*系列重要講話,現(xiàn)將“兩學一做”學習教育知識競賽題予..

  • 開展兩學一做學習教育知識競賽活動真題答案開展兩學一做學習教育知識競賽活動真題答案

    144.根據(jù)《中國共產(chǎn)黨紀律處分條例》規(guī)定,黨的各級代表大會的代表受到(D)處分的,黨組織應當終止其代表資格。A.警告(含)以上B.嚴重警告(含)以上C.撤銷黨內(nèi)職務(含)以..