8-30携程笔试

第一题:q次询问。整数重拍后为偶数,有多解时输出任意,不存在输出-1
通过30%
不知道错在哪里,有大佬帮看看吗
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        sc.nextLine();
        for(int i=0;i<n;i++){
            String s=sc.nextLine();
            System.out.println(test(s));
        }
    }
    public static int test(String s){
        StringBuffer sb = new StringBuffer(s);
        int size=sb.length();
        boolean flag=true;
        for (int i=0;i<size;i++ ){
            if(isO(sb.charAt(i)-'0')){
                flag=false;
            }
        }
        for(int i=0;i<size;i++){
            if(isO(sb.charAt(i)-'0')){
                char ch=sb.charAt(i);
                sb.deleteCharAt(i);
                sb.append(ch);
                break;
            }
        }

        if (flag){
            return -1;
        }
        int ret = Integer.parseInt(sb.toString());
        return ret;
    }
    public static boolean isO(int x){
        if(x%2==0){
            return true;
        }else {
            return false;
        }
    }
}


#秋招##笔试##携程#
全部评论
需要考虑前导0
点赞 回复 分享
发布于 2022-08-30 21:14 浙江
只需要加个  判断偶数直接返回就行,我也一直是30%,后来加个偶数直接返回就ac了
点赞 回复 分享
发布于 2022-08-30 21:17 山东
我是先判断是否是偶数,不是再从倒是第二位开始往前找,找到第一个偶数与最后一位交换位置就可以了
1 回复 分享
发布于 2022-08-30 21:35 重庆
同30
点赞 回复 分享
发布于 2022-08-30 22:07 黑龙江

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
5 收藏 评论
分享
牛客网
牛客企业服务