题解 | #神奇的数字#

神奇的数字

http://www.nowcoder.com/practice/01e7bedf5dd2421aa6f879fd8055e51d

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param number string字符串 
 * @return string字符串
 */
char* change(char* number ) {
    // write code here
    char* s=number;//头指针
    char* e=number;//尾指针
    char temp1;
    char temp2;
    while(*e){
        e++;
    }
    e--;
    while(s<e){
        temp1=*s;//赋值
        temp2=*e;
        if(*s%2==0){//存放前面的偶数
            temp1=*s;
        }
        if(*e%2==0){//存放后面的偶数
            temp2=*e;
        }
        if(temp1%2==0&&temp2%2==0){//俩都是偶数时,交换,指针移动
            *s=temp2;
            *e=temp1;
            s++;e--;
        }
        else if(temp1%2==0){//只有前面一个为偶数时,后指针移动
            e--;
        }else if(temp2%2==0){//只有后面一个是偶数,前指针移动
            s++;
        }else{//都不是偶数,指针移动
            s++;e--;
        }
    }
    return number;
}
全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
大叔叔1:你把自己说的话打码,所以你想表达什么
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务