/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System.
out.
println(combine
("ABCD",
"abcdef")); System.
out.
println(combine
("ABCDEF",
"abcd")); System.
out.
println(combine
("ABCDEF",
"abcdef")); System.
out.
println(combine
("ABCD",
null)); System.
out.
println(combine
(null,
"abcd")); System.
out.
println(combine
(null,
null)); }
StringBuilder result = new StringBuilder();
int str1size = str1 == null ? 0 : str1.length();
int str2size = str2 == null ? 0 : str2.length();
int lowerSize
= Math.
min(str1size, str2size
); int greaterSize
= Math.
max(str1size, str2size
); int i; // define the counter variable outside of a for, because we will reuse it in the following for loops
for (i=0; i < lowerSize; i++) { // browse the common part of the strings
result.append(str1.charAt(i)).append(str2.charAt(i));
}
for (int upTo
= Math.
min(greaterSize, str1size
); i
< upTo
; i
++) { // browse the remaining part of str1, if applicable result.append(str1.charAt(i));
}
for (int upTo
= Math.
min(greaterSize, str2size
); i
< upTo
; i
++) { // browse the remaining part of str2, if applicable result.append(str2.charAt(i));
}
return result.toString();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbihjb21iaW5lKCJBQkNEIiwgImFiY2RlZiIpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oY29tYmluZSgiQUJDREVGIiwgImFiY2QiKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGNvbWJpbmUoIkFCQ0RFRiIsICJhYmNkZWYiKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGNvbWJpbmUoIkFCQ0QiLCBudWxsKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGNvbWJpbmUobnVsbCwgImFiY2QiKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGNvbWJpbmUobnVsbCwgbnVsbCkpOwoJfQoJCglwdWJsaWMgc3RhdGljIFN0cmluZyBjb21iaW5lKFN0cmluZyBzdHIxLFN0cmluZyBzdHIyKSB7CgkJU3RyaW5nQnVpbGRlciByZXN1bHQgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwogICAgICAgIGludCBzdHIxc2l6ZSA9IHN0cjEgPT0gbnVsbCA/IDAgOiBzdHIxLmxlbmd0aCgpOwogICAgICAgIGludCBzdHIyc2l6ZSA9IHN0cjIgPT0gbnVsbCA/IDAgOiBzdHIyLmxlbmd0aCgpOwoJCWludCBsb3dlclNpemUgPSBNYXRoLm1pbihzdHIxc2l6ZSwgc3RyMnNpemUpOwoJCWludCBncmVhdGVyU2l6ZSA9IE1hdGgubWF4KHN0cjFzaXplLCBzdHIyc2l6ZSk7CiAgICAgICAgaW50IGk7ICAvLyBkZWZpbmUgdGhlIGNvdW50ZXIgdmFyaWFibGUgb3V0c2lkZSBvZiBhIGZvciwgYmVjYXVzZSB3ZSB3aWxsIHJldXNlIGl0IGluIHRoZSBmb2xsb3dpbmcgZm9yIGxvb3BzCgkJZm9yIChpPTA7IGkgPCBsb3dlclNpemU7IGkrKykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJyb3dzZSB0aGUgY29tbW9uIHBhcnQgb2YgdGhlIHN0cmluZ3MKCQkJcmVzdWx0LmFwcGVuZChzdHIxLmNoYXJBdChpKSkuYXBwZW5kKHN0cjIuY2hhckF0KGkpKTsKCQl9CgkJZm9yIChpbnQgdXBUbyA9IE1hdGgubWluKGdyZWF0ZXJTaXplLCBzdHIxc2l6ZSk7IGkgPCB1cFRvIDsgaSsrKSB7ICAgICAvLyBicm93c2UgdGhlIHJlbWFpbmluZyBwYXJ0IG9mIHN0cjEsIGlmIGFwcGxpY2FibGUKCQkJcmVzdWx0LmFwcGVuZChzdHIxLmNoYXJBdChpKSk7CgkJfQoJCWZvciAoaW50IHVwVG8gPSBNYXRoLm1pbihncmVhdGVyU2l6ZSwgc3RyMnNpemUpOyBpIDwgdXBUbzsgaSsrKSB7ICAgICAvLyBicm93c2UgdGhlIHJlbWFpbmluZyBwYXJ0IG9mIHN0cjIsIGlmIGFwcGxpY2FibGUKCQkJcmVzdWx0LmFwcGVuZChzdHIyLmNoYXJBdChpKSk7CgkJfQoJCXJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKCX0KfQ==