------
## 最终结论
```python
def largest_multiple_of_three(digits):
    if not digits:  # Check if the input is empty
        return ""
    if len(digits) == 1:  # If there's only one digit
        return str(digits[0]) if digits[0] % 3 == 0 else ""

    total_sum = sum(digits)  # Calculate the sum of all digits
    remainder = total_sum % 3

    # Create a list to store counts of each digit
    count = [0] * 10
    for digit in digits:
        count[digit] += 1

    # Function to remove a digit with the given remainder
    def remove_digit_with_remainder(rem):
        for i in range(rem, 10, 3):
            if count[i] > 0:
                count[i] -= 1
                return True
        return False

    if remainder == 1: 
        # Try to remove one digit with remainder 1
        if not remove_digit_with_remainder(1):
            # If not possible, remove two digits with remainder 2
            removed = 0
            for i in range(2, 10, 3):
                while count[i] > 0 and removed < 2:
                    count[i] -= 1
                    removed += 1
                if removed == 2:
                    break

    elif remainder == 2:
        # Try to remove one digit with remainder 2
        if not remove_digit_with_remainder(2):
            # If not possible, remove two digits with remainder 1
            removed = 0
            for i in range(1, 10, 3):
                while count[i] > 0 and removed < 2:
                    count[i] -= 1
                    removed += 1
                if removed == 2:
                    break

    # Construct the result from remaining digits
    result = []
    for i in range(9, -1, -1):
        result.extend([str(i)] * count[i])

    # Handle leading zeros case
    if not result or (len(result) == count[0] and count[0] > 0):
        return "0"

    return ''.join(result)
```