题目描述:

豚厂给自研的数据库设计了一套查询表达式,在这个表达式中括号表示将里面的字符串翻转。请你帮助实现这一逻辑

输入

一行字符串

输出

一行字符串

如果表达式括号不匹配,输出空字符串

样例输入

((ur)oi)

样例输出

iour

解题代码:

package com.kyc.xiecheng;import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;public class Main_2 {/*请完成下面这个函数,实现题目要求的功能当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^******************************开始写代码******************************/static String resolve(String expr) {Stack<Character> res = new Stack<>();int n =expr.length();char[] list= expr.toCharArray();int a = 0,b=0;for(int i = 0;i<n;i++){if(list[i]==')'){a++;Queue<Character> queue = new ArrayDeque<>();while (!res.empty() && res.peek()!='(' ){queue.add(res.pop());}if(!res.empty()){res.pop();}while (!queue.isEmpty()){res.add(queue.poll());}}else {if(list[i]=='('){b++;}res.push(list[i]);}}if(a!=b){return "";}Stack<Character> result = new Stack<>();while (!res.empty()){result.add(res.pop());}StringBuilder stringBuilder = new StringBuilder();while (!result.empty()){stringBuilder.append(result.pop());}if(stringBuilder.toString().contains("(") || stringBuilder.toString().contains(")")){return "";}return stringBuilder.toString();}/******************************结束写代码******************************/public static void main(String[] args){Scanner in = new Scanner(System.in);String res;String _expr;try {_expr = in.nextLine();} catch (Exception e) {_expr = null;}res = resolve(_expr);System.out.println(res);}
}

输出结果

2020年携程校招开发方向第二题相关推荐

  1. php携程 线程,携程api开发解决方法

    携程api开发 本帖最后由 lziyanl 于 2014-06-03 13:53:29 编辑 如何获取上图的内容信息?在携程没找到对应接口,询问官方群,基本不搭理! ------解决方案------- ...

  2. 2020.03.18模拟赛17(第二题)

    2.[GDKOI训练]音乐节拍(mnotes) 题目描述 FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000)种音节组成,编号为1到N,而且一定按照从1到N的顺序进行弹奏, ...

  3. python 携程_python 携程爬虫开发笔记

    前言 最近购买了<Python3 爬虫.数据清洗与可视化实战>,刚好适逢暑假,就尝试从携程页面对广州的周边游产品进行爬虫数据捕捉. 因为才学Python不够一个星期,python的命名规范 ...

  4. 3星|《大产品,小团队》:携程软件开发流程改进的故事

    大产品,小团队:携程敏捷技术与管理转型实战 携程集团创作,作者有产品.开发.测试.PMO等多种角色.有一点比较怪异,每个章节的作者是放在书的最后部分的. 主要内容是携程的软件开发流程改进的故事.携程的 ...

  5. 【2022-10-12】携程JAVA开发秋招三轮面经

    前两面技术面在线下, 第三面 HR 面是电话面,总体体验很好, tier 1 的级别 线下面, 在某个酒店,时间有点久了, 细节想不起来了 一面(9.28) 自我介绍 java 基础 有问 java ...

  6. 携程校招Java岗位面经(二面)

    这是携程的Java二面,主要问的还是八股.

  7. 2020年西山居SEED训练营开发方向记录

    本人贼水,感觉就是侥幸通过的(或者是学姐说的,年龄优势?),但是能够拿到人生中第一个offer还是很开心~接下来复盘一下自己的心里流程: 因为疫情原因一直在家,然后被妈妈嫌弃:天天在家混吃等死,要么就 ...

  8. 美团点评2018春招后台开发方向编程题 - 题解

    美团这次的春招后端方向是两个编程题,没有考比较难的算法,如果日积月累刷题还是可以做出来的. 第一题:字符串距离 题目: 给出两个相同长度的由字符 a 和 b 构成的字符串,定义它们的距离为对应位置不同 ...

  9. 携程2018 秋招编程题 - java

    第一题: 两个排好序的数组 求中位数 import java.util.Comparator; import java.util.PriorityQueue; import java.util.Sca ...

  10. 2020大疆校招B卷第二题

    题目: 小B平时喜欢倒腾一些小东西,最近他准备给自己做的小机器人加入一套语音控制的功能,每个指令对应一个动作. 由于语言转文字有很多现成的方案,所以小B打算直接复用这些方案,但是语音转成了文字之后,还 ...

最新文章

  1. npm install 报权限错误,permission denied
  2. Java was not the perfect solution for every pro...
  3. JavaScript 读书笔记(二)— Date类型
  4. RabbitMQ高可用方案总结
  5. 9.QML Qt Quick Controls 2中常用的界面形式——并排式界面(SwipeView)
  6. 【Python-ML】神经网络激励函数-双曲正切(hyperbolic tangent,tanh)函数
  7. 全球及中国汽车零部件信息化行业需求预测与竞争战略规划报告2022年
  8. HD2094_产生冠军
  9. 错误信息 c语言实现_全国计算机等级考试二级C语言
  10. Echarts后台option对象
  11. ContextLoaderListener.contextInitialized - how is WebApplicationContext created
  12. c# 溢出抛异常_Rust竟然没有异常处理?
  13. 修改Linux主机名
  14. JAVA开发面试常问问题总结2
  15. oracle有条件插入数据,Oracle有条件地插入数据
  16. python的精髓_你知道Python的精髓是什么吗?是方括号、花括号和圆括号
  17. json_extract提取复杂json_Python中高效使用JSON的四个小窍门
  18. NSString 与 Unicode
  19. Lora如何组网?有哪些简单的Lora组网协议?
  20. 2021年4月自考04741计算机网络原理试卷

热门文章

  1. 使用Sbo用户自定义业务对象
  2. 如何获取支付宝应用APPID
  3. 新的开始 LibreOJ - 10066(最小生成树模板)
  4. MPQ文件系统优化(续)
  5. 《如何阅读一本书》读书笔记
  6. Ubuntu系统搜狗拼音无法输出
  7. 教你删除Mac下的iCloud数据
  8. 深入解析Scheduler
  9. win7计算机的蓝牙,win7电脑蓝牙怎么开
  10. 花花公子跟风删除Facebook主页,区块链技术可打破互联网垄断