字符串相互转换

图片说明 图片说明

import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        HashMap map = new HashMap();
        map.put("aa",'k');map.put("ab",'l');map.put("ac",'m');
        map.put("ad",'n');map.put("ae",'o');map.put("af",'p');
        map.put("ag",'q');map.put("ah",'r');map.put("ai",'s');
        map.put("",'t');map.put("ba",'u');map.put("bb",'v');
        map.put("bc",'w');map.put("bd",'x');map.put("be",'y');
        map.put("bf",'z');
        String s = sc.nextLine();
        String a[] = {"","","","","","","","","","","aa","ab","ac","ad","ae","af","ag","ah","ai","","ba","bb","bc","bd","be","bf","bg"};
        boolean jude = false;
        for(int i = 0;i < s.length();i++){
            if(!a[s.charAt(i) - 'a'].equals("")){
                s = s.substring(0,i)+a[s.charAt(i) - 'a']+s.substring(i+1);
                jude = true;
                break;
            }else{
                if(i!=s.length()-1)
                {
                    if(map.containsKey(s.substring(i,i+2)))
                    {
                        s = s.substring(0,i)+map.get(s.substring(i,i+2))+s.substring(i+2);
                        jude = true;
                        break;
                    }
                }
            }
        }
        if(jude){
            System.out.println(s);
        }else {
            System.out.println(-1);
        }


    }

}

##这是使用字符转换成别的字符,是没有想到用a数组,装下对应的需要转换的字符。首先使用hash装一个转换表,至于为什么用hash装,自己也应该明白hash的效率吧。好,接下来是先判断,如果输入的s字符串的第i个字符是a数组里的非空字符串,也就是k和其之后的字符,那么就直接转换成a数组里的元素(枚举法),如果不是呢,就直接在hash里搜索,如果有大于等于k的字符,那么就直接转换就可以了。

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-22 00:27
中南大学_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-20 00:05
门头沟学院_2023
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
2022-12-23 17:45
武汉商学院_2023
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议