📄 百度_c语言吧_数据结构(zt).mht
字号:
MTY1LHRpdGxlOiK3orHtzPnX0yIsbWVzc2FnZVRpdGxlOiK1yLT9yfO6yy4uLiIsIGNvbnRlbnQ6
IHJzdC5nZXRNZXNzYWdlKCl9LCBmdW5jdGlvbigpewoJCQkJCWRvQWN0aW9uKHJzdCk7CgkJCQkJ
cmV0dXJuIHRydWU7CgkJCQl9KTsKCQkJfWVsc2Ugey8vIMqnsNwKCQkJCUFsZXJ0UG9wdXAuYWxl
cnRFcnJvcih7d2lkdGg6MzQwLGhlaWdodDoxNjUsdGl0bGU6Ireise3M+dfTIixtZXNzYWdlVGl0
bGU6IreizPnKp7DcIiwgY29udGVudDogcnN0LmdldE1lc3NhZ2UoKX0sIGZ1bmN0aW9uKCl7CgkJ
CQkJZG9BY3Rpb24ocnN0KTsKCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCX0pOwoJCQl9CgkJfQoJfTsK
CWRvY3VtZW50LnBvc3QuU3VibWl0My5kaXNhYmxlZCA9IHRydWU7CgluZXcgQWpheC5SZXF1ZXN0
KAoJICB1cmwsCgkgIHsKCQkJbWV0aG9kOiAicG9zdCIsCgkJCXBhcmFtZXRlcnM6IHBhcmFtc1N0
ciwKCQkJb25Db21wbGV0ZTogZnVuY3Rpb24oeG1sSHR0cCl7cG9zdFByb2Nlc3MoeG1sSHR0cCk7
fQoJICAgfQoJKTsKfTsKCnJfdXJsPWZfZXNjYXBlKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKZnVu
Y3Rpb24gUmVzZXRSZXBseVRpdGxlKG5vLCB0aXRsZSkgewoJCQoJCQoKICAgICAgICBpZihubyA9
PSBudWxsfHxubyA9PSAiIil7CiAgICAgICAgICBpZih0aXRsZSA9PSBudWxsIHx8IHRpdGxlID09
ICcnKQogICAgICAgICAgICB0aXRsZV9zcmMgPSBnX2JkVGhyZWFkVGl0bGVUeHQ7CiAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgIHRpdGxlX3NyYyA9IHRpdGxlOwogICAgICAgIH0KICAgICAgICBl
bHNlewogICAgICAgICAgdGl0bGVfc3JjID0gdGl0bGU7CiAgICAgICAgICB2YXIgcyA9IHRpdGxl
X3NyYy5pbmRleE9mKCKjuiIpOwogICAgICAgICAgdGl0bGVfc3JjID0gdGl0bGVfc3JjLnN1YnN0
cmluZyhzKzEsdGl0bGUubGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgLy/JvrP9xKnOsr/JxNy1
xL/VuPEgIAogICAgICAgIGlmKHRpdGxlX3NyYy5sYXN0SW5kZXhPZigiICIpID09IHRpdGxlX3Ny
Yy5sZW5ndGgtMSkKCQl7CgkJCXRpdGxlX3NyYyA9IHRpdGxlX3NyYy5zdWJzdHJpbmcoMCx0aXRs
ZV9zcmMubGFzdEluZGV4T2YoIiAiKSk7CgkJfQogICAgICAgIGRvY3VtZW50LnBvc3QudGkudmFs
dWU9J7vYuLQnICsgbm8gKyAno7onICsgdGl0bGVfc3JjOwogICAgICAgIGRvY3VtZW50LnBvc3Qu
dGkxLnZhbHVlPSe72Li0JyArIG5vICsgJ6O6JyArIHRpdGxlX3NyYzsKCQkJCQoJCXNldFRpbWVv
dXQoZnVuY3Rpb24oKXsKCQkJZG9jdW1lbnQucG9zdC5jby5mb2N1cygpOwoJCQlkb2N1bWVudC5w
b3N0LmNvLnZhbHVlID0gZG9jdW1lbnQucG9zdC5jby52YWx1ZTsKCQl9LDMwMCk7CiAgICAgICAg
cmV0dXJuIHRydWU7Cn0KCgoKZnVuY3Rpb24gZl9sb2FkKCl7CgogCiBpZihuZWVkX3ZlcmlmeT09
MTApewogIGlmIChkb2N1bWVudC5wb3N0LnRpLnZhbHVlICE9IiIgJiYgZG9jdW1lbnQucG9zdC5j
by52YWx1ZSAhPSIiKSB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuaW5uZXJI
VE1MPXl6bV9zdHI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuc3R5bGUuZGlzcGxh
eT0iIjsKICB9CiB9CiAKIAoKIHJlc2V0Q2hhbmdlZFNpemVJbWFnZSgpOwoKfQoKZnVuY3Rpb24g
Zl9mb2N1cygpewogCiBpZihuZWVkX3ZlcmlmeT09MTApewogIGlmKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd5em0nKS5pbm5lckhUTUw9PW51bGwgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3l6bScpLmlubmVySFRNTD09JycpewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScp
LmlubmVySFRNTD15em1fc3RyOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLnN0eWxl
LmRpc3BsYXk9IiI7CiAgfQogfQogCiAgCn0KCmZ1bmN0aW9uIGZfc2hvd1ZlcmlmeShvKXsKCXZh
ciBsZW47CglsZW4gPSBnZXRCeXRlKG8udmFsdWUpCglpZihsZW4+NTAwMHx8bmVlZF92ZXJpZnk9
PTEwKXsKCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuaW5uZXJIVE1MPT1udWxs
IHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5em0nKS5pbm5lckhUTUw9PScnKXsKICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLmlubmVySFRNTD15em1fc3RyOwoJICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuc3R5bGUuZGlzcGxheT0iIjsKICAgIH0KCQl9ZWxz
ZXsKCQkgIGlmKGRvY3VtZW50LnBvc3QuY2gxLmNoZWNrZWQpewoJCQlkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgneXptJykuaW5uZXJIVE1MPScnOwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
eXptJykuc3R5bGUuZGlzcGxheT0ibm9uZSI7CgkJCX0KCSAgfQp9CmZ1bmN0aW9uIGZfcGFzdGUo
KXsKCXZhciBvPWRvY3VtZW50LnBvc3QuY287CglmX3Nob3dWZXJpZnkobyk7Cn0KCgoKCgovLyBl
bmQgwM+w5goKCgoKCgoKCgovLyDQwrDmCgoKLyoKCgpmdW5jdGlvbiBmX2NsaWNrKG9iajEsb2Jq
Mil7Cgp2YXIgbGVuID0gQ29udGVudElucHV0ID8gZ2V0Qnl0ZShDb250ZW50SW5wdXQuZ2V0SHRt
bCgpKSA6IDA7CgoJZG9jdW1lbnQucG9zdC5yczEudmFsdWUgPSIiOwoJb2JqMi5jaGVja2VkID0g
IW9iajEuY2hlY2tlZDsKCiAJaWYoZG9jdW1lbnQucG9zdC5jaDEuY2hlY2tlZCl7CgkJU2lnbk5h
bWVBcHBseS5hY3RpdmUoKTsKCX0KCglpZiAoZG9jdW1lbnQucG9zdC5yczEuY2hlY2tlZCA9PSB0
cnVlKSB7CgkJZG9jdW1lbnQucG9zdC5yczEudmFsdWUgPSAxOwoJCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd5em0nKS5pbm5lckhUTUw9eXptX3N0cjsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgneXptJykuc3R5bGUuZGlzcGxheT0iIjsKCQlHKCJzaWduTmFtZVBhbmVsIikuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKCX1lbHNlewoJCWlmKG5lZWRfdmVyaWZ5PT0xMHx8bGVuPjUwMDApewoJ
CQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuaW5uZXJIVE1MPXl6bV9zdHI7CgkJCWRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd5em0nKS5zdHlsZS5kaXNwbGF5PSIiOwoJCX1lbHNlewoJ
CQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuaW5uZXJIVE1MPScnOwoJCQlkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgneXptJykuc3R5bGUuZGlzcGxheT0ibm9uZSI7CgkJfQoJCUcoInNp
Z25OYW1lUGFuZWwiKS5zdHlsZS5kaXNwbGF5ID0gIiI7Cgl9Cn0KCgpmdW5jdGlvbiBmX3N1Ym1p
dCgpewoJdHJ5ewoJCWlmKGZfY2hlY2soKSl7CgkJCgkJCXZhciBwYXJhbXMgPSBbCgkJCQkJWyJj
byIsQ29udGVudElucHV0LmdldEh0bWwoKV0sCgkJCQkJWyJjdCIsZG9jdW1lbnQucG9zdC5jdF0s
CgkJCQkJWyJ0biIsZG9jdW1lbnQucG9zdC50bl0sCgkJCQkJWyJ3b3JkIixkb2N1bWVudC5wb3N0
LndvcmRdLAoJCQkJCVsid29yZDEiLGRvY3VtZW50LnBvc3Qud29yZDFdLAoJCQkJCVsibG0iLGRv
Y3VtZW50LnBvc3QubG1dLAoJCQkJCVsieiIsZG9jdW1lbnQucG9zdC56XSwKCQkJCQlbInNjIixk
b2N1bWVudC5wb3N0LnNjXSwKCQkJCQlbImNtIixkb2N1bWVudC5wb3N0LmNtXSwKCQkJCQlbInJu
Iixkb2N1bWVudC5wb3N0LnJuXSwKCQkJCQlbImJzIixkb2N1bWVudC5wb3N0LmJzXSwKCQkJCQlb
InN0cjIiLGRvY3VtZW50LnBvc3Quc3RyMl0sCgkJCQkJWyJzdHIzIixkb2N1bWVudC5wb3N0LnN0
cjNdLAoJCQkJCVsicnMzIixkb2N1bWVudC5wb3N0LnJzM10sCgkJCQkJWyJzdHI0Iixkb2N1bWVu
dC5wb3N0LnN0cjRdLAoJCQkJCVsiYnUiLGRvY3VtZW50LnBvc3QuYnVdLAoJCQkJCVsiY29kZSIs
ZG9jdW1lbnQucG9zdC5jb2RlXSwKCQkJCQlbInRpIixkb2N1bWVudC5wb3N0LnRpXSwKCQkJCQlb
InJzNCIsZG9jdW1lbnQucG9zdC5yczRdLAoJCQkJCVsiY2gxIixkb2N1bWVudC5wb3N0LmNoMV0s
CgkJCQkJWyJyczEiLGRvY3VtZW50LnBvc3QucnMxXQoJCQkJXTsKCgkJCWlmKGRvY3VtZW50LnBv
c3QuY2gxICYmIGRvY3VtZW50LnBvc3QuY2gxLmNoZWNrZWQgJiYgZG9jdW1lbnQucG9zdC51c2VT
aWduTmFtZSAmJiBkb2N1bWVudC5wb3N0LnVzZVNpZ25OYW1lLmNoZWNrZWQpewoJCQkJcGFyYW1z
W3BhcmFtcy5sZW5ndGhdID0gWyJyczEwIixkb2N1bWVudC5wb3N0LnNpZ25OYW1lXTsKCQkJfQoJ
CQl2YXIgcGFyYW1zdHIgPSBidWlsZFBhcmFtRGF0YVN0cmluZyhwYXJhbXMpOwoKCQkJZm9ybUFw
cGx5KHBhcmFtc3RyKTsKCQl9Cgl9Y2F0Y2goZSl7fQoJcmV0dXJuIGZhbHNlOwp9OwoKZnVuY3Rp
b24gZm9ybUFwcGx5KHBhcmFtc1N0cikKewkJCQkJCgl2YXIgdXJsID0gIi9mIjsJCgoJdGhpcy5w
b3B1cCA9IG51bGw7CgoJdmFyIHBvc3RQcm9jZXNzID0gZnVuY3Rpb24oeG1sSHR0cCkKCXsKCQlk
b2N1bWVudC5wb3N0LlN1Ym1pdDMuZGlzYWJsZWQgPSBmYWxzZTsKCQl2YXIgcnN0ID0gZXZhbCgi
KCIgKyB4bWxIdHRwLnJlc3BvbnNlVGV4dCArICIpIik7CgkJdmFyIG5vID0gcnN0LnJlc3VsdE5v
OwoJCXZhciBkb0FjdGlvbiA9IGZ1bmN0aW9uKHJlc3VsdCl7CgkJCXN3aXRjaChyZXN1bHQuZ2V0
QWN0aW9uVHlwZSgpKXsKCQkJCWNhc2UgcmVzdWx0LkFjdGlvbl9Gb2N1c1RpdGxlOgoJCQkJCWlm
KGRvY3VtZW50LnBvc3QudGkpewoJCQkJCQlkb2N1bWVudC5wb3N0LnRpLmZvY3VzKCk7CgkJCQkJ
CWRvY3VtZW50LnBvc3QudGkudmFsdWUgPSBkb2N1bWVudC5wb3N0LnRpLnZhbHVlOwoJCQkJCX0K
CQkJCQlicmVhazsKCQkJCWNhc2UgcmVzdWx0LkFjdGlvbl9Gb2N1c0NvbnRlbnQ6CgkJCQkJc2V0
VGltZW91dChmdW5jdGlvbigpewoJCQkJCQlDb250ZW50SW5wdXQuZm9jdXMoKTsKCQkJCQl9LDQw
MCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlIHJlc3VsdC5BY3Rpb25fQ2xlYXJZWk06CgkJCQkJaWYo
ZG9jdW1lbnQucG9zdC53b3JkMSl7CgkJCQkJCWRvY3VtZW50LnBvc3Qud29yZDEudmFsdWUgPSAi
IjsKCQkJCQkJZG9jdW1lbnQucG9zdC53b3JkMS5mb2N1cygpOwoJCQkJCX0KCQkJCQlicmVhazsK
CQkJCWNhc2UgcmVzdWx0LkFjdGlvbl9Gb2N1c1VybDoKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7CgkJCQkJCUNvbnRlbnRJbnB1dC5mb2N1cygpOwoJCQkJCX0sNDAwKTsKCQkJCQlicmVhazsK
CQkJCWNhc2UgcmVzdWx0LkFjdGlvbl9Hb1RvSGVhZDoKCQkJCQlkb2N1bWVudC5sb2NhdGlvbi5o
YXNoPSJwZ1RvcCI7CgkJCQkJYnJlYWs7CgkJCQljYXNlIHJlc3VsdC5BY3Rpb25fRmx1c2hBbmRH
b1RvSGVhZDoKCQkJCQlDb250ZW50SW5wdXQuY2xlYXJIdG1sKCk7CgkJCQkJZG9jdW1lbnQubG9j
YXRpb24uaHJlZiA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXTsKCQkJCQli
cmVhazsKCQkJCWRlZmF1bHQ6CgkJCQkJYnJlYWs7CgkJCX0KCQl9OwoKCQlpZihubyA9PSAwKSB7
Ly8gs8m5pgoJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CgkJCQlkb0FjdGlvbihyc3QpOwoJCQl9
LDUwMCk7CgkJfWVsc2V7CgkJCWlmKHJzdC5pc05lZWRXYWl0Rm9yQ2hlY2soKSl7Ly8gtci0/cnz
ussKCQkJCUFsZXJ0UG9wdXAuYWxlcnRNZXNzYWdlKHt3aWR0aDozNDAsaGVpZ2h0OjE2NSx0aXRs
ZToit6Kx7cz519MiLG1lc3NhZ2VUaXRsZToitci0/cnzussuLi4iLCBjb250ZW50OiByc3QuZ2V0
TWVzc2FnZSgpfSwgZnVuY3Rpb24oKXsKCQkJCQlkb0FjdGlvbihyc3QpOwoJCQkJCXJldHVybiB0
cnVlOwoJCQkJfSk7CgkJCX1lbHNlIHsvLyDKp7DcCgkJCQlBbGVydFBvcHVwLmFsZXJ0RXJyb3Io
e3dpZHRoOjM0MCxoZWlnaHQ6MTY1LHRpdGxlOiK3orHtzPnX0yIsbWVzc2FnZVRpdGxlOiK3osz5
yqew3CIsIGNvbnRlbnQ6IHJzdC5nZXRNZXNzYWdlKCl9LCBmdW5jdGlvbigpewoJCQkJCWRvQWN0
aW9uKHJzdCk7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9KTsKCQkJfQoJCX0KCX07Cglkb2N1bWVu
dC5wb3N0LlN1Ym1pdDMuZGlzYWJsZWQgPSB0cnVlOwoJbmV3IEFqYXguUmVxdWVzdCgKCSAgdXJs
LAoJICB7CgkJCW1ldGhvZDogInBvc3QiLAoJCQlwYXJhbWV0ZXJzOiBwYXJhbXNTdHIsCgkJCW9u
Q29tcGxldGU6IGZ1bmN0aW9uKHhtbEh0dHApe3Bvc3RQcm9jZXNzKHhtbEh0dHApO30KCSAgIH0K
CSk7Cn07CgpmdW5jdGlvbiBmX2NoZWNrKCkgewoKCXZhciBpbWFnZU51bSA9IENvbnRlbnRJbnB1
dC5nZXRJbWFnZU51bSgpOwoJaWYoaW1hZ2VOdW0gPiBnX3BnLmltYWdlTGltaXRlKXsKCQlHKCJj
b0Vycm9yIikuaW5uZXJIVE1MID0gIrGnx7ijrMO/suPCpbLlyOu1xM28xqyyu8Tcs6y5/SIgKyBn
X3BnLmltYWdlTGltaXRlICsgItXFo6zH69DeuMS689bY0MLM4b27IjsKCQlDb250ZW50SW5wdXQu
Zm9jdXMoKTsKCQlyZXR1cm4gZmFsc2U7ICAKCX0KCgl2YXIgZmxhc2hOdW0gPSBDb250ZW50SW5w
dXQuZ2V0Rmxhc2hOdW0oKTsKCWlmKGZsYXNoTnVtID4gZ19wZy5mbGFzaExpbWl0ZSl7CgkJRygi
Y29FcnJvciIpLmlubmVySFRNTCA9ICKxp8e4o6zDv7LjwqWy5cjrtcTK08a1srvE3LOsuf0iICsg
Z19wZy5pbWFnZUxpbWl0ZSArICK49qOsx+vQ3rjEuvPW2NDCzOG9uyI7CgkJQ29udGVudElucHV0
LmZvY3VzKCk7CgkJcmV0dXJuIGZhbHNlOyAgCgl9CgoJdmFyIHNtaWxleU51bSA9IENvbnRlbnRJ
bnB1dC5nZXRTbWlsZXlOdW0oKTsKCWlmKHNtaWxleU51bSA+IGdfcGcuc21pbGV5TGltaXRlKXsK
CQlHKCJjb0Vycm9yIikuaW5uZXJIVE1MID0gIrGnx7ijrMO/suPCpbLlyOu1xLHtx+myu8Tcs6y5
/SIgKyBnX3BnLnNtaWxleUxpbWl0ZSArICK49qOsx+vQ3rjEuvPW2NDCzOG9uyI7CgkJQ29udGVu
dElucHV0LmZvY3VzKCk7CgkJcmV0dXJuIGZhbHNlOyAgCgl9CgogbHNfY29udGVudCA9IENvbnRl
bnRJbnB1dC5nZXRIdG1sKCk7CgogaWYoQ29udGVudElucHV0LmlzRW1wdHkoKSkKIHsKICAgIEco
ImNvRXJyb3IiKS5pbm5lckhUTUwgPSAixNrI3bK7xNzOqr/VIjsKCUNvbnRlbnRJbnB1dC5mb2N1
cygpOwogICAgcmV0dXJuIGZhbHNlOwogfQogCiAKIGlmKG5lZWRfdmVyaWZ5PT0xMCl7CiAgaWYo
ZG9jdW1lbnQucG9zdC53b3JkMS52YWx1ZSA9PSAnJyB8fCBkb2N1bWVudC5wb3N0LndvcmQxLnZh
bHVlID09IG51bGwpCiAgIHsKICAgICBHKCJ5em1FcnJvciIpLmlubmVySFRNTCA9ICLR6dakwuuy
u8Tczqq/1aOsx+vK5Mjr0enWpMLrIjsKCSBkb2N1bWVudC5wb3N0LndvcmQxLmZvY3VzKCk7CiAg
ICAgcmV0dXJuIGZhbHNlOwogICB9CiB9CiAKIAogZG9jdW1lbnQucG9zdC5zdHIyLnZhbHVlID0g
ZnJfYXNfanNfdHIoKTsKICByZXR1cm4gdHJ1ZTsKfQoKCgpyX3VybD1mX2VzY2FwZSh3aW5kb3cu
bG9jYXRpb24uaHJlZik7CmZ1bmN0aW9uIFJlc2V0UmVwbHlUaXRsZShubywgdGl0bGUpIHsKCgkJ
CgogICAgICAgIGlmKG5vID09IG51bGx8fG5vID09ICIiKXsKICAgICAgICAgIGlmKHRpdGxlID09
IG51bGwgfHwgdGl0bGUgPT0gJycpCiAgICAgICAgICAgIHRpdGxlX3NyYyA9IGdfYmRUaHJlYWRU
aXRsZVR4dDsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgdGl0bGVfc3JjID0gdGl0bGU7CiAg
ICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICB0aXRsZV9zcmMgPSB0aXRsZTsKICAgICAg
ICAgIHZhciBzID0gdGl0bGVfc3JjLmluZGV4T2YoIqO6Iik7CiAgICAgICAgICB0aXRsZV9zcmMg
PSB0aXRsZV9zcmMuc3Vic3RyaW5nKHMrMSx0aXRsZS5sZW5ndGgpOwogICAgICAgIH0KICAgICAg
ICAvL8m+s/3Eqc6yv8nE3LXEv9W48SAgCiAgICAgICAgaWYodGl0bGVfc3JjLmxhc3RJbmRleE9m
KCIgIikgPT0gdGl0bGVfc3JjLmxlbmd0aC0xKQoJCXsKCQkJdGl0bGVfc3JjID0gdGl0bGVfc3Jj
LnN1YnN0cmluZygwLHRpdGxlX3NyYy5sYXN0SW5kZXhPZigiICIpKTsKCQl9CgoJCWRvY3VtZW50
LnBvc3QudGkudmFsdWU9J7vYuLQnICsgbm8gKyAno7onICsgdGl0bGVfc3JjOwoJCQoJCWlmKG5v
ICYmIG5vIT0iIiAmJiBubyAhPSAnMScpewoJCQlpZihDb250ZW50SW5wdXQuaXNFbXB0eSgpKXsK
CQkJCUNvbnRlbnRJbnB1dC5hcHBlbmRIdG1sKCe72Li0o7onK25vKyfCpTxicj4nKTsKCQkJfWVs
c2V7CgkJCQlDb250ZW50SW5wdXQuYXBwZW5kSHRtbCgnPGJyPrvYuLSjuicrbm8rJ8KlPGJyPicp
OwoJCQl9CgkJfQoJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsKCQkJQ29udGVudElucHV0LmZvY3Vz
KCk7CgkJfSwzMDApOwoKICAgICAgICByZXR1cm4gdHJ1ZTsKfQoKCmZ1bmN0aW9uIGZfbG9hZCgp
ewoKCnJlc2V0Q2hhbmdlZFNpemVJbWFnZSgpOwoKfQoKZnVuY3Rpb24gZl9mb2N1cygpewogCiBp
ZihuZWVkX3ZlcmlmeT09MTApewogIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5em0nKS5p
bm5lckhUTUw9PW51bGwgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLmlubmVySFRN
TD09JycpewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLmlubmVySFRNTD15em1f
c3RyOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLnN0eWxlLmRpc3BsYXk9IiI7CiAg
fQogfQogCiAgCn0KCmZ1bmN0aW9uIGZfc2hvd1ZlcmlmeSgpewoJdmFyIGxlbjsKCWxlbiA9IGdl
dEJ5dGUoQ29udGVudElucHV0LmdldEh0bWwoKSkKCWlmKGxlbj41MDAwfHxuZWVkX3ZlcmlmeT09
MTApewoJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5em0nKS5pbm5lckhUTUw9PW51bGwg
fHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l6bScpLmlubmVySFRNTD09JycpewoJCQlkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuaW5uZXJIVE1MPXl6bV9zdHI7CgkJCWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd5em0nKS5zdHlsZS5kaXNwbGF5PSIiOwoJCX0KCX1lbHNlewoJCWlm
KGRvY3VtZW50LnBvc3QuY2gxLmNoZWNrZWQpewoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
eXptJykuaW5uZXJIVE1MPScnOwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXptJykuc3R5
bGUuZGlzcGxheT0ibm9uZSI7CgkJfQoJfQp9CmZ1bmN0aW9uIGZfcGFzdGUoKXsKCglmX3Nob3dW
ZXJpZnkoKTsKCQoJaWYoZG9jdW1lbnQucG9zdC5jaDEgJiYgZG9jdW1lbnQucG9zdC5jaDEuY2hl
Y2tlZCl7CgkJU2lnbk5hbWVBcHBseS5hY3RpdmUoKTsKCX0KfQoKCgoqLwoKCgoKLy8gZW5kINDC
sOYKCgoKCgoKCgoKZnVuY3Rpb24gY2hlY2tfaW1nKCl7CmRvY3VtZW50LnBvc3Qud29yZDEuZm9j
dXMoKTsKIHZhciBvX2ltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5X2ltZycpOwogb19p
bWcuc3JjPWltZ19zdHIgKyImdD0iKyBNYXRoLnJhbmRvbSgpOwogZG9jdW1lbnQucG9zdC53b3Jk
MS52YWx1ZT0iIjsKfQoKCmZ1bmN0aW9uIGZfdHJpbShpbnB1dFN0cmluZykgewogICAgaWYgKHR5
cGVvZiBpbnB1dFN0cmluZyAhPSAnc3RyaW5nJykgeyByZXR1cm4gaW5wdXRTdHJpbmc7IH0KICAg
IHZhciByZXRWYWx1ZSA9IGlucHV0U3RyaW5nOwogICAgdmFyIGNoID0gcmV0VmFsdWUuc3Vic3Ry
aW5nKDAsIDEpOwogICAgd2hpbGUgKGNoID09ICcgJyB8fCBjaCA9PSAnXHInIHx8IGNoID09ICdc
bicpIHsKICAgcmV0VmFsdWUgPSByZXRWYWx1ZS5zdWJzdHJpbmcoMSwgcmV0VmFsdWUubGVuZ3Ro
KTsKICAgY2ggPSByZXRWYWx1ZS5zdWJzdHJpbmcoMCwgMSk7CiAgICB9CiAgICBjaCA9IHJldFZh
bHVlLnN1YnN0cmluZyhyZXRWYWx1ZS5sZW5ndGgtMSwgcmV0VmFsdWUubGVuZ3RoKTsKICAgIHdo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -