Daily LeetCode – day0167 1807. Evaluate the Bracket Pairs of a String

import java.util.HashMap;
import java.util.List;

// 1807. Evaluate the Bracket Pairs of a String
class Solution {
    public String evaluate(String s, List<List<String>> knowledge) {
        HashMap<String, String> hashMap = new HashMap<>();
        for (List<String> know : knowledge) {
            hashMap.put(know.get(0), know.get(1));
        }
        StringBuilder sb = new StringBuilder();
        char[] ca = s.toCharArray();
        int len = ca.length;
        int i = 0;
        while (i < len) {
            if (ca[i] == '(') {
                ++i;
                StringBuilder temp = new StringBuilder();
                while (ca[i] != ')') {
                    temp.append(ca[i]);
                    ++i;
                }
                if (hashMap.containsKey(temp.toString())) {
                    sb.append(hashMap.get(temp.toString()));
                } else {
                    sb.append('?');
                }
            } else {
                sb.append(ca[i]);
            }
            ++i;
        }
        return sb.toString();
    }
}
学习笔记:
这是一道哈希表的题,难度是中等,但是和一般中等题比简单不少。
可以切割字符串也可以一个个字符来处理添加。


关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注