首页 > 代码库 > ACM试题 - 括号配对问题 - Java中字符串截取和定位问题
ACM试题 - 括号配对问题 - Java中字符串截取和定位问题
ACM试题题源(括号配对问题):http://acm.nyist.net/JudgeOnline/problem.php?pid=2
提交代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); String[] ans = new String[n]; for (int i = 0; i < n; i++) { ans[i] = cin.next(); String res = ""; for(int j =0;j<ans[i].length();j++){ if(res.isEmpty()){ res = res + ans[i].substring(j, j+1); }else if(res.charAt(res.length()-1)==‘(‘&&ans[i].charAt(j)==‘)‘||(res.charAt(res.length()-1)==‘[‘&&ans[i].charAt(j)==‘]‘)){ res = res.substring(0,res.length()-1); }else{ res = res + ans[i].substring(j, j+1); } } if(res.isEmpty()){ ans[i] = "Yes"; }else { ans[i] = "No"; } } for(int i = 0 ;i<ans.length;i++){ System.out.println(ans[i]); } } }
总结:
注意String.charAt(int index)和Sring.substring(int beg, int end)中的参数值,也就是下标怎么取,例如:
String str = "abcde";
System.out.println(str.charAt(0)) // 输出:a(单个字符) System.out.println(str.charAt(2)) // 输出:c(单个字符) System.out.println(str.substring(0,1)) // 输出:a(字符串) System.out.println(str.substring(1,3)) // 输出:bc(字符串)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。