1754. 构造字典序最大的合并字符串

1754. 构造字典序最大的合并字符串

题解:
每次从word1 和 word2 中取首字符 添加到merge字符串中,使得merge字符串字典序最大

  1. 比较word1 和 word2 的首字符,谁大用谁的
  2. 如果word1 和 word2 的首字符相等,此时需要比较word1 和 word2的字典序谁大,优先取字典序大的那个
class Solution {
    public String largestMerge(String word1, String word2) {
        int l1 = word1.length();
        int l2 = word2.length();
        char[] res = new char[l1 + l2];
        char[] w1 = word1.toCharArray();
        char[] w2 = word2.toCharArray();
        int i = 0, j = 0, k = 0;
        while (i < l1 && j < l2) {
            if (w1[i] > w2[j]) res[k++] = w1[i++];
            else if (w1[i] < w2[j]) {
                res[k++] = w2[j++];
            } else {
                if (word1.substring(i).compareTo(word2.substring(j)) > 0) {
                    res[k++] = w1[i++];
                } else {
                    res[k++] = w2[j++];
                }
            } ;
        }
        while (i < l1) res[k++] = w1[i++];
        while (j < l2) res[k++] = w2[j++];
        return new String(res);
    }
}
posted @   Eiffelzero  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示