admin管理员组

文章数量:1609902

描述

You own a Goal Parser that can interpret a string command. The command consists of an alphabet of “G”, “()” and/or “(al)” in some order. The Goal Parser will interpret “G” as the string “G”, “()” as the string “o”, and “(al)” as the string “al”. The interpreted strings are then concatenated in the original order.

Given the string command, return the Goal Parser’s interpretation of command.

Example 1:

Input: command = "G()(al)"
Output: "Goal"
Explanation: The Goal Parser interprets the command as follows:
G -> G
() -> o
(al) -> al
The final concatenated result is "Goal".

Example 2:

Input: command = "G()()()()(al)"
Output: "Gooooal"

Example 3:

Input: command = "(al)G(al)()()G"
Output: "alGalooG"

Note:

  • 1 <= command.length <= 100
  • command consists of “G”, “()”, and/or “(al)” in some order.

解析

根据题意,遍历字符串,只需要将 G 转换成 G ,() 转换成 o ,(al) 转换成 al 即可,容易实现。

解答

class Solution(object):
    def interpret(self, command):
        """
        :type command: str
        :rtype: str
        """
        res = ""
        i=0
        while i<len(command):
            if command[i] == 'G':
                res += 'G'
                i += 1
            elif command[i] == '(' and command[i+1] == ')':
                res += 'o'
                i += 2
            else :
                res += 'al'
                i += 4
        return res

运行结果

Runtime: 16 ms, faster than 88.21% of Python online submissions for Goal Parser Interpretation.
Memory Usage: 13.3 MB, less than 91.27% of Python online submissions for Goal Parser Interpretation.

原题链接:https://leetcode/problems/goal-parser-interpretation/

本文标签: GoalLeetCodePythoninterpretationParser