Wie trage ich die "nachfolgenden" Zahlen ein, wenn in R eine 0 steht?

Ich habe eine Reihe von Zahlen:

n1 = c(1, 1, 0, 6, 0, 0, 10, 10, 11, 12, 0, 0, 19, 23, 0, 0)

Ich muss die 0 durch die entsprechende Zahl "dahinter" ersetzen, um sie zu erhalten, während ich die 0 im Schwanz alleine lasse (weil nichts direkt dahinter ist):

n2 = c(1, 1, 6, 6, 10, 10, 10, 10, 11, 12, 19, 19, 19, 23, 0, 0)

Wie komme ich von n1 nach n2?

Dies scheint eine viel schwierigere Frage zu sein als die, die ich zuvor gestellt habe:

Wie trage ich die vorhergehenden Zahlen ein, wenn in R eine 0 steht?

wo flodel eine elegante lösung gefunden hat:

n2 <- n1[cummax(seq_along(n1) * (n1 != 0))]

Diese Lösung funktioniert hier jedoch nicht. Ich habe versucht, den Code aber nicht anzupassen.

Kann jemand anderes eine elegante Lösung finden?

Danke im Voraus!