欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

笔试 - 2020春招心动网络笔试第一题

程序员文章站 2024-03-12 16:12:50
...

笔试 - 2020春招心动网络笔试第一题图片来源于强大得群友。。
这题目不知道叫啥。。记录一下
用例:
输入
abc cba
输出
EDEDED

不匹配输出-1

import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        String[] s = str.split(" ");

		//源串
        char[] source = s[0].toString().toCharArray();
        //目标串
        char[] dest = s[1].toString().toCharArray();
		
		// E的栈操作
        Stack<Character> se = new Stack<>();
        //拼接ED操作
        StringBuilder sb = new StringBuilder();
        
        int i = 0;
        int k = source.length - 1;
        while (k >= 0) {
        	//把源串的尾巴入栈
            se.push(source[k]);
            sb.append("E");
            k--;
            //出栈必须 栈顶 == 目标串
            while (!se.isEmpty() && se.peek() == dest[i]) {
                se.pop();
                i++;
                sb.append("D");
            }
        }
        if (se.isEmpty())
            System.out.println(sb.toString());
        else
            System.out.println(-1);
    }
}

AC.

相关标签: 笔试编程题