Class Solution
- java.lang.Object
-
- g1801_1900.s1807_evaluate_the_bracket_pairs_of_a_string.Solution
-
public class Solution extends Object
1807 - Evaluate the Bracket Pairs of a String.Medium
You are given a string
sthat contains some bracket pairs, with each pair containing a non-empty key.- For example, in the string
"(name)is(age)yearsold", there are two bracket pairs that contain the keys"name"and"age".
You know the values of a wide range of keys. This is represented by a 2D string array
knowledgewhere eachknowledge[i] = [keyi, valuei]indicates that keykeyihas a value ofvaluei.You are tasked to evaluate all of the bracket pairs. When you evaluate a bracket pair that contains some key
keyi, you will:- Replace
keyiand the bracket pair with the key’s correspondingvaluei. - If you do not know the value of the key, you will replace
keyiand the bracket pair with a question mark"?"(without the quotation marks).
Each key will appear at most once in your
knowledge. There will not be any nested brackets ins.Return the resulting string after evaluating all of the bracket pairs.
Example 1:
Input: s = “(name)is(age)yearsold”, knowledge = [[“name”,“bob”],[“age”,“two”]]
Output: “bobistwoyearsold”
Explanation:
The key “name” has a value of “bob”, so replace “(name)” with “bob”.
The key “age” has a value of “two”, so replace “(age)” with “two”.
Example 2:
Input: s = “hi(name)”, knowledge = [[“a”,“b”]]
Output: “hi?”
Explanation: As you do not know the value of the key “name”, replace “(name)” with “?”.
Example 3:
Input: s = “(a)(a)(a)aaa”, knowledge = [[“a”,“yes”]]
Output: “yesyesyesaaa”
Explanation: The same key can appear multiple times.
The key “a” has a value of “yes”, so replace all occurrences of “(a)” with “yes”.
Notice that the "a"s not in a bracket pair are not evaluated.
Constraints:
1 <= s.length <= 1050 <= knowledge.length <= 105knowledge[i].length == 21 <= keyi.length, valuei.length <= 10sconsists of lowercase English letters and round brackets'('and')'.- Every open bracket
'('inswill have a corresponding close bracket')'. - The key in each bracket pair of
swill be non-empty. - There will not be any nested bracket pairs in
s. keyiandvalueiconsist of lowercase English letters.- Each
keyiinknowledgeis unique.
- For example, in the string
-
-
Constructor Summary
Constructors Constructor Description Solution()
-