度熊手上有一本神奇的字典,你可以在它里面做如下三个操作:结果符合为何交不上去
度熊手上有一本神奇的字典,你可以在它里面做如下三个操作:结果符合为何交不上去
小说家 发表于2年前
度熊手上有一本神奇的字典,你可以在它里面做如下三个操作:结果符合为何交不上去
  • 发表于 2年前
  • 阅读 22
  • 收藏 0
  • 点赞 2
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: Problem Description 度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1、insert : 往神奇字典中插入一个单词 2、delete: 在神奇字典中删除所有前缀等于给定字符串的单词 3、search: 查询是否在神奇字典中有一个字符串的前缀等于给定的字符串 Input 这里仅有一组测试数据。第一行输入一个正整数N(1≤N≤100000)N (1\leq N\leq 100000)N(1≤N≤100000),代表度熊对于字典的操作次数,接下来NNN行,每行包含两个字符串,中间中用空格隔开。第一个字符串代表了相关的操作(包括: insert, d...
import java.util.LinkedList;
import java.util.Scanner;

public class Main{
	static LinkedList<String> array=new LinkedList<String>();	
	static Scanner scan=new Scanner(System.in);
	public static int number(){
		int ss1=scan.nextInt();
		scan.nextLine();
		return ss1;
	}
	public static String[] number2(){
		String c="";
		String c1[]=null;
		int i1[]=null;
		c=scan.nextLine();
		c1=c.split(" ");
		return c1;
	}
	
	public static void str(String[] i1){
		boolean c;
		boolean c1 = false;
		String s2=i1[0];
		switch(s2){
		case "insert":
			array.add(i1[1]);
			break;
		
		case "delete":
			for(int i=0;i<array.size();i++){
				String s1=array.get(i);
				c=i1[1].regionMatches(0, s1, 0, i1[1].length());
				if(c==true){
					array.remove(i);
				}
			}
			break;
		case "search":
			for(int i=0;i<array.size();i++){
				String s1=array.get(i);
				c1=i1[1].regionMatches(0, s1, 0, i1[1].length());
				if(c1==true){
					System.out.println("Yes");
					break;
				}
			}
			if(c1!=true){
				System.out.println("No");
			}
			break;
		default :
			System.out.println("");
			break;
		}
		
	}
	public static void main(String args[]){
		String i1[]=null;
		int num=number();
		for(int i=0;i<num;i++){
			i1=number2();
			str(i1);
		}
	}
}

 

共有 人打赏支持
粉丝 0
博文 1
码字总数 380
×
小说家
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: