zoukankan      html  css  js  c++  java
  • 找工过程中碰到的笔试面试题整理(2)

    继续我的找工笔试面试题整理。

    1.获取字符串最长数字串

    这个是baidu的一道笔试题,虽然简单,但是要当场写对还是要仔细点。

    代码
    int getlongestdigital(const char* inputstr,char* outputstr)
    {
    int start,length,longeststart,longest,offset;
    start
    = length = longest = longeststart = offset = 0;
    while(*inputstr!='\0')
    {
    if(*inputstr>='0'&&*inputstr<='9')
    {
    if(length==0)
    start
    = offset;
    length
    ++;
    }
    else
    {
    if(length>longest)
    {
    longest
    = length;
    longeststart
    = start;
    }
    length
    =0;
    }
    offset
    ++;
    inputstr
    ++;
    }
    if(length>longest)
    {
    longest
    = length;
    longeststart
    = start;
    }
    inputstr
    -= offset;
    for(int i=0;i<longest;i++)
    {
    outputstr[i]
    = inputstr[i+longeststart];
    }
    outputstr[longest]
    = '\0';
    return longest;
    }

    2.完全二叉树的节点添加

    这个也是常出现的题目,完全二叉树是笔试面试经常碰到的,最好要熟悉的它的各种操作。

     

     

    代码
    typedef struct TreeNode
    {
    int data;
    struct TreeNode* left;
    struct TreeNode* right;
    }TreeNode;
    void insertnode(TreeNode* root,TreeNode* newnode)
    {
    queue
    <TreeNode*> nonvisit;
    nonvisit.push(root);
    while(!nonvisit.empty())
    {
    TreeNode
    * pvisit = nonvisit.front();
    nonvisit.pop();
    if(pvisit->left==NULL)
    {
    pvisit
    ->left = newnode;
    return;
    }
    nonvisit.push(pvisit
    ->left);
    if(pvisit->right == NULL)
    {
    pvisit
    ->right = newnode;
    return;
    }
    nonvisit.push(pvisit
    ->right);
    }
    }
    3.链表反序

    链表是又一个重点,熟悉一下它的各种操作吧

     

    代码
    void ReverseList(LinkNode **root)
    {
    LinkNode
    *temp1 = (*root)->next;
    if(temp1==NULL)
    return;
    LinkNode
    *temp2;
    (
    *root)->next = NULL;
    temp2
    = temp1->next;
    temp1
    ->next = *root;
    *root = temp1;
    while(temp2!=NULL)
    {
    temp1
    = temp2;
    temp2
    = temp1->next;
    temp1
    ->next = *root;
    *root = temp1;
    }
    }

  • 相关阅读:
    AtCoder,Codeforces做题记录
    最小割分治(最小割树):BZOJ2229 && BZOJ4519
    [BZOJ2209][JSOI2011]括号序列(splay)
    [BZOJ5461][LOJ#2537[PKUWC2018]Minimax(概率DP+线段树合并)
    [LOJ#2540][PKUWC2018]随机算法(概率DP)
    [CC-SEABUB]Sereja and Bubble Sort
    [CC-ANUGCD]Maximum number, GCD condition
    [HDU5965]扫雷
    [ZJOI2007]最大半连通子图
    [BZOJ2152]聪聪可可
  • 原文地址:https://www.cnblogs.com/absolute8511/p/1740674.html
Copyright © 2011-2022 走看看