def recusive_del_key(dic: dict, key: str):
    """
    Recusively remove keys in a dictionary.

    >>> recusive_del_key({'a': 2, 'b': 1}, 'a')
    {'b': 1}

    >>> recusive_del_key({'b': 1}, None)
    {'b': 1}

    >>> recusive_del_key({'b': 1}, 'c')
    {'b': 1}

    >>> recusive_del_key({'b': {'a': 1, 'c': 4}}, 'c')
    {'b': {'a': 1}}

    :type dic: dict[str, unicode]
    :param dic: dictionary to remove key
    :type key: str
    :param key: key to remove
    """
    if not key:
        return dic

    dic.pop(key, None)
    for k in dic:
        if isinstance(dic[k], dict):
            recusive_del_key(dic[k], key)
    return dic