JAVA 字符串表达式展开abc3(A)

本文介绍了JAVA字符串表达式的展开方法,源自华为笔试题目。题目要求根据数字展开括号内的字符串或表达式,考虑括号嵌套情况,并逆序输出结果。例如,输入'abc3(A)',输出为'AAAcba'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA 字符串表达式展开

  • 笔试完华为笔试题,有一道简单题当时没有做出来,现在来写写,题目描述大概如下
  • 给出一个表达式 s,此表达式包括数字,字母以及方括号。在方括号前的数字表示方括号内容的重复次数(括号内的内容可以是字符串或另一个表达式),请将这个表达式展开成一个字符串。其中括号可以嵌套,括号包含大括号,中括号,小括号,其中括号前面必然含有数字,不会出现数字后面没有括号的情况,最后逆序输出展开的字符串。
    • 输入:
      abc3(A)
    • 输出:
      AAAcba
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class StringUtil {
   
   
	
	public static void main(String[] args) {
   
   

		// 华为笔试字符串展开
		String str = "abc3(A)";
		StringBuilder tempStr = new StringBuilder(str);
		while (cont(tempStr)) {
   
   
			tempStr = test(tempStr);
		}
		System.out.println(tempStr.reverse());

	}
	/**
	 * 判断字符串中是否含有右括号,含有返回true,否则false
	 * 
	 * @param tempStr
	 *            每次执行要检测的字符串
	 * @return boolean值
	 */
	public static boolean cont(StringBuilder tempStr) {
   
   
		String temp = tempStr.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值