题解 | #交错编号#

交错编号

https://www.nowcoder.com/practice/07f674168c784a84a264cf487396daed

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s1 string字符串
     * @param s2 string字符串
     * @param s3 string字符串
     * @return bool布尔型
     */
    private static StringBuilder sb1 = new StringBuilder();
    private static StringBuilder sb2 = new StringBuilder();
    private static StringBuilder sb3 = new StringBuilder();
    static boolean flag = true;
    public static boolean isInterleave (String s1, String s2, String s3) {
        sb1.append(s1);
        sb2.append(s2);
        sb3.append(s3);
        process();
        return flag;
    }
    public static void process() {

        if (sb1.length() != 0 && sb2.length() == 0 || sb1.length() != 0 &&
                sb3.length() == 0) {
            flag = false;
            return;
        }
        if (sb1.length() == 0 && sb2.length() == 0 && sb3.length() == 0) {
            flag = true;
            return;
        }

        if (sb1.length() != 0) {
            if (sb3.charAt(0) == sb1.charAt(0)) {
                sb1.deleteCharAt(0);
            } else if (sb3.charAt(0) == sb2.charAt(0)) {
                sb2.deleteCharAt(0);
            } else {
                flag = false;
                return;
            }
        } else {
            if (sb3.charAt(0) == sb2.charAt(0)) {
                sb2.deleteCharAt(0);
            } else {
                flag = false;
                return;
            }
        }

        sb3.deleteCharAt(0);
        process();
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务