2 -1 bytes by printing directly instead of returning

# Java 8, 939191 90 bytes

v->{String r="",t=r;fort="";for(char c=64;++c<91;t+=c)r+=rSystem.out.println(t.join(c+"",t.split(""))+c+"\n";return r;+c);}


-1 byte thanks to @OlivierGrégoire by printing directly instead of returning

Explanation:

v->{                     // Method with empty unused parameter and String return-type
String r="",t=r;t="";       //  Result and temp// Strings, bothTemp-String, starting empty
for(char c=64;++c<91;  //  Loop over the letters of the alphabet:
t+=c)              //    After every iteration: append the letter to the temp-String
r+=                System.out.println(  //   AddPrint towith thetrailing resultnew-Stringline:
r.join(c+"",t.split(""))
//    The temp-String with the current letter as delimiter
+c   );}             //    + the current letter as trailing character
+"\n";            //    + a new-line
return r;}             //  After the loop: return the result (with trailing new-line)


# Java 8, 9391 bytes

v->{String r="",t=r;for(char c=64;++c<91;t+=c)r+=r.join(c+"",t.split(""))+c+"\n";return r;}


Explanation:

Try it online.

v->{                     // Method with empty unused parameter and String return-type
String r="",t=r;       //  Result and temp Strings, both starting empty
for(char c=64;++c<91;  //  Loop over the alphabet:
t+=c)              //    After every iteration: append the letter to the temp-String
r+=                  //   Add to the result-String:
r.join(c+"",t.split(""))
//    The temp-String with the current letter as delimiter
+c                //    + the current letter as trailing character
+"\n";            //    + a new-line
return r;}             //  After the loop: return the result (with trailing new-line)


# Java 8, 9391 90 bytes

v->{String t="";for(char c=64;++c<91;t+=c)System.out.println(t.join(c+"",t.split(""))+c);}


-1 byte thanks to @OlivierGrégoire by printing directly instead of returning

Explanation:

Try it online.

v->{                     // Method with empty unused parameter and String return-type
String t="";           //  Temp-String, starting empty
for(char c=64;++c<91;  //  Loop over the letters of the alphabet:
t+=c)              //    After every iteration: append the letter to the temp-String
System.out.println(  //   Print with trailing new-line:
r.join(c+"",t.split(""))
//    The temp-String with the current letter as delimiter
+c);}             //    + the current letter as trailing character

1

# Java 8, 93 91 bytes

v->{String r="",t=r;for(char c=64;++c<91;t+=c)r+=r.join(c+"",t.split(""))+c+"\n";return r;}


Explanation:

Try it online.

v->{                     // Method with empty unused parameter and String return-type
String r="",t=r;       //  Result and temp Strings, both starting empty
for(char c=64;++c<91;  //  Loop over the alphabet:
t+=c)              //    After every iteration: append the letter to the temp-String
r+=                  //   Add to the result-String:
r.join(c+"",t.split(""))
//    The temp-String with the current letter as delimiter
+c                //    + the current letter as trailing character
+"\n";            //    + a new-line
return r;}             //  After the loop: return the result (with trailing new-line)