我有下一个带嵌套括号的字符串:
String a = "(red(blue))grey((orange)green)";
我想用打印出来的每个括号的值填充一个数组:
(red(blue))
(blue)
grey
((orange)green)
(orange)
//In any order
我认为下面的代码应该可以工作:
算法:首先使用堆栈标记左括号的结束位置,然后在下一次迭代中获得左括号的开始位置和结束位置。
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String s = "(red(blue))grey((orange)green)";
int n = s.length();
int end[] = new int[n];
boolean internalWords = false;
Stack<Integer> stack = new Stack<Integer>();
for(int i = 0 ; i < n ; i++){
if(s.charAt(i)=='('){
stack.push(i);
}else if(s.charAt(i)==')'){
int start = (Integer)stack.pop();
end[start] = i;
}else if(stack.isEmpty()){
System.out.print(s.charAt(i));
}
}
System.out.println();
for(int i = 0 ; i < n ; i++){
if(s.charAt(i)=='('){
for(int j = i ; j <= end[i]; j++){
System.out.print(s.charAt(j));
}
System.out.println();
}
}
}
}
输出:灰色(红色(蓝色))(蓝色)((橙色)绿色)(橙色)
期望的行为 我有一个输入验证,除其他外,测试长度(
在括号()之间获取文本的Reg表达式,我尝试过,但我没有得到RegEx。对于这个例子 例子:-
我想在像这样的文本中插入()并将它们放入数组中,但里面可能有一些嵌套的括号。 文本: 应该这样处理: 我怎么能这么做?
elmentui table里的 scope.row如何取下面类型数据结构最内层的数据 1
问题内容: 我在下面的对象中尝试获取所有id值。 使用以下代码,我仅获得第一个id值。有没有办法从嵌套对象中获取所有id值,而无需使用任何外部模块。 预期产量 问题答案: 您可以使用如下所示的JavaScript函数来获取嵌套属性: 检查此小提琴以获取可行的解决方案。