# Regex for string does not contain the substring "110"

Can anyone help me figure out the error in my approach to this problem from Sipser 1.18 (1.6f)? Write a regular expression for the language L = {w | w does not contain 110}

So, the answer I get is: $$(0 \cup 10)^* (1 \cup 111^* \cup \epsilon)$$

And the answer given is: $$(0 \cup (10)^*)^*1^*$$

Note that $$\mathcal{L}(1\cup 111^*\cup \varepsilon) = \mathcal{L}(1^*)$$.
And in the general case, $$\mathcal{L}((e\cup f)^*) = \mathcal{L}((e\cup f^*)^*)$$.
$$1 \cup 111* \cup\space \epsilon \\ = 1(\epsilon \cup 11^*)\cup \epsilon \\ = 1(\epsilon + 1^+) \cup \epsilon \\ = 1(1^*) \cup \epsilon\\ = 1^+ \cup \epsilon \\ = 1^*$$