码迷,mamicode.com
首页 > 其他好文 > 详细

百度实习在线笔试题【逆序问题】

时间:2015-05-04 19:56:39      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

自己写的代码,未经测试

////baidu实习岗在线测评
////一组01的二进制字符串,要求不为逆序,需要交换几次位置。
//
#include <iostream>
#include <vector>
using namespace std;

typedef struct{
    unsigned int num;
    vector<char*> data;
}SInput;

void pInputData(SInput &input)
{
    int i;
    cin>>input.num;    //忽略了后面的换行符
    char n;         
    cin.get(n);      //读取下一个输入字符,即使该字符是空格、制表符或者换行符
    for(i=0;i<input.num;i++)
    {
        char* d=(char*)malloc(1000000*sizeof(char));
        cin.getline(d,1000000);        //读取整行,读取并忽略换行符
        input.data.push_back(d);
    }
}

void release(SInput input)
{
    for(int i=0;i<input.num;i++)
    {
        free(input.data[i]);
    }
}

int fuc(char* data_queue)
{
    int i=0;
    while(data_queue[i++]!=0)  //注意char型的0的表示
    {
        if(data_queue[i]==\0)    //全部都是1
            return 0;
    }    //找到了第一个0
    while(data_queue[i++]!=1)
    {
        if(data_queue[i]==\0)    //0之后没有1
            return 1;
    }
    return 0;    //在找到0之后也找到了1
}

void main()
{
    SInput input;
    pInputData(input);
    int result;
    for(int i=0;i<input.num;i++)
    {
        result=fuc(input.data[i]);
        cout<<result<<endl;
    }
    release(input);
}

 

百度实习在线笔试题【逆序问题】

标签:

原文地址:http://www.cnblogs.com/wy1290939507/p/4476767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!