DDSA
Advertisement

1410. HTML Entity Parser

Time: O(n)
Space: O(n)

Approach

Sequential string replacement for each HTML entity; process '&' last to avoid double-replacement.

1410.cs
C#
// Approach: Sequential string replacement for each HTML entity; process '&' last to avoid double-replacement.
// Time: O(n) Space: O(n)

public class Solution
{
    public string EntityParser(string text)
    {
        var entryToChar = new Dictionary<string, string> {
            { "&quot;", "\"" },
            { "&apos;", "'" },
            { "&gt;", ">" },
            { "&lt;", "<" },
            { "&frasl;", "/" }
        };

        foreach (var entry in entryToChar)
        {
            var entity = entry.Key;
            var c = entry.Value;
            text = text.Replace(entity, c);
        }

        // Process '&' in last.
        return text.Replace("&amp;", "&");
    }
}
Advertisement
Was this solution helpful?