1024国产,91精品国产综合久久福利,中文字幕成人免费视频,日本人的色道免费网站,曰本一级毛片免费,www.日日爱,国产黑丝视频

當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文

2019騰訊校園招聘C語言筆試題和面試題答案(二)

更新:2023-09-17 16:56:33 高考升學(xué)網(wǎng)

  7. 壓縮字符串

  例如字串”aaabbbbccccc”,轉(zhuǎn)換成相鄰字符+個數(shù)的形式壓縮,成為”a3b4c5”。

  (如果有10個數(shù)相同)

  假設(shè)需要考慮解壓縮

  char MergeString(const char ch)

  {

  char s=(char )malloc(sizeof(ch));

  if(s!=NULL)

  {

  int len=strlen(ch), i=0,j=0,k=0;

  for(;i

  {

  int num=0;

  while(ch[j]==ch[i]) j++,num++;

  s[k++]=ch[i];

  sprintf(s+k,"%d",num);

  k=strlen(s);

  }

  }

  return s;

  }

  8. 如何判斷一個單向鏈表是否有環(huán)。

  int ISCircle(pListNode head)

  {

  pListNode p1=head;

  p1=p1->m_pNext;

  while(p1!=NULL)

  {

  if(p1==head) return 1;

  else p1=p1->m_pNext;

  }

  return 0;

  }

  9. 判斷一個字符串是否對稱。

  aabbaa , efffe返回true

  aabac返回false

  int SymmetricString( const char ch)

  {

  int len=strlen(ch);

  int i=0,j=len-1;

  if(len%2!=0) return 0;

  for(i=0,j=len-1;i<=len/2;i++,j--)

  {

  if(ch[i]!=ch[j]) return 0;

  }

  return 1;

  }

  10. 判斷一個字符串是否是另一個字符串的字串

  int next[20];

  void get_next(const char T,int next[])

  {

  int i=0,j=-1;next[0]=-1;

  int len=strlen(T);

  while(i

  {

  if(j==-1||T[i]==T[j]) {++i;++j;next[i]=j;}

  else j=next[j];

  }

  }

  int index_KMP(const char S,const char T)

  {

  int i=0,j=0;

  get_next(T,next);

  int lens=strlen(S),lent=strlen(T);

  while(i

  if(j==-1 ||S[i]==T[j]){++i;++j;}

  else j=next[j]; }

  if(j>=lent) return i-lent;

  else return -1;

  }

  鏈表的定義,棧的定義:

  typedef struct stack

  {

  int top;

  int space[MAXLEN+1];

  }Stack;

  int push(Stack s,int num)

  {

  if(s->top>=sizeof(s->space)/sizeof(int)) return -1;//Error

  s->space[s->top++]=num;

  return num;

  }

  int pop(Stack s)

  {

  if(s->top<0) return -1;

  return s->space[--s->top];

  }

  int IsEmpty(Stack s)

  {

  return s->top==0;

  }

  typedef struct ListNode

  {

  int m_nKey;

  struct ListNode m_pNext;

  }ListNode,pListNode;

  pListNode CreateList()

  {

  srand((unsigned long)time(NULL));

  pListNode head,p1,p2;

  head=(pListNode)malloc(sizeof(ListNode));

  p1=head;p2=p1;

  int i=MAXLEN;

  while(i--){

  p2=(pListNode)malloc(sizeof(ListNode));

  p2->m_nKey= rand()rand()%(MAXLENrand());

  p1->m_pNext=p2;

  p1=p2;

  }

  p2->m_pNext=NULL;

  return head;

  }

  void PrintList(pListNode head)

  {

  pListNode p=head;

  do{

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

  p=p->m_pNext;

  }while(p!=NULL); 更多熱門的筆試題目分享:
湖南廣電筆試真題
2015華邦軟件工程師筆試題
光大期貨筆試真題
馬士基筆試真題筆試題型

最新圖文