• 算法笔记_084:蓝桥杯练习 11-1实现strcmp函数(Java)


    目录

    1 问题描述

    2 解决方案

     


    1 问题描述

    问题描述
      自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止(注意''值为0,小于任意ASCII字符)。如:
      "A"<"B"
      "a">"A"
      "computer">"compare"
      "hello"<"helloworld"
    样例输出
    数据规模和约定
      字符串长度<100。

     


    2 解决方案

     

    具体代码如下:

    import java.util.Scanner;
    
    public class Main {
        
        public void printResult(String A, String B) {
            int lenA = A.length();
            int lenB = B.length();
            if(lenA < 1 || lenB < 1)
                return;
            char[] arrayA = A.toCharArray();
            char[] arrayB = B.toCharArray();
            int i = 0, j = 0;
            int judge = 10000;
            while(i < lenA && j < lenB) {
                judge = arrayA[i++] - arrayB[j++];
                if(judge != 0)
                    break;
            }
            if(judge > 0 && judge != 10000) {
                System.out.println("1");
            } else if(judge < 0) {
                System.out.println("-1");
            } else {
                int tempi = lenA - i;
                int tempj = lenB - j;
                if(tempi == tempj) {
                    System.out.println("0");
                } else if(tempi > tempj) {
                    System.out.println("1");
                } else if(tempi < tempj) {
                    System.out.println("-1");
                }
            }
            return;
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            Scanner in = new Scanner(System.in);
            String A = in.nextLine();
            String B = in.nextLine();
            test.printResult(A, B);
        }
    }
  • 相关阅读:
    hdu4990矩阵快速幂
    预处理+状态压缩+剪枝——codefoece 1209E
    AC自动机处理多串匹配——cf1202E
    二维差分前缀和——cf1202D(好题)
    序列递推——cf1204E(好题)
    建模+线性dp——cf1201D
    暴力——cf1202C
    经典排序背包——cf1203F
    思维+贪心——cf1042D
    分块——cf1207F
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/6562040.html
Copyright © 2020-2023  润新知