I'm going out of bounds somewhere while iterating a very long string but I can't seem to find out where?
import java.util.*;
public class Solution {
//Helper function to reverse words in string
public static String reverseWord(int start, int end, String str) {
String word = "";
for (int i = start; i < end; i++) {
char ch = str.charAt(i);
word = ch + word;
}
word += " ";
return word;
}
public static String reverseWords(String sentence) {
//Reverse entire string
String reversed = "";
for (int i = 0; i < sentence.length(); i++) {
char ch = sentence.charAt(i);
reversed = ch + reversed;
}
//Set up pointers
int start = 0;
int end = 0;
//Set up output string
String output = "";
//Iterate through reversed string
while (end < reversed.length()) {
//If end pointer reaches a space
if (reversed.charAt(end) == ' ') {
//Reverse the entired word from start to end
output += reverseWord(start, end, reversed);
//Iterate through extra spaces
while (reversed.charAt(end) == ' ') {
end++;
}
//Re-setup start and end pointers at beginning of next word
start = end;
} else {
//Iterate through reversed string normally
end++;
}
}
//Reverse final word in reversed string
output += reverseWord(start, end, reversed);
return output.trim();
}
}
So my solution to the problem is above. I'm doing grokking the coding interview on educative.io.
I have to reverse the word order of the string is essentially the problem.
submission failure
I pass all the test cases but when I submit I hit a snag here:
I put print statements everywhere and I never go past 9650 iterations, at least not to my knowledge?
For what its worth I put the code into an Intellij project and ran it with the same exact input but it worked perfectly. So I'm not sure if it's my code or if its educative.io website?
I want to ask here in case I am missing something because I would like to learn as much as possible and understand why its going out of bounds.
Here is the input that I'm failing on:
" uwllkmwrgtouodjnenuawaqqkpbthajsfzzyy ssqdwnmyhjkwupqcbbmmhwctmzfqfmyrcqnpwornacmbwpkizwngat xyrvvsckkxulselcjw puefau mrmzfeibgwytnwqcwhyidubrgwoqvtojlgfwci ethnzypoztnm vabvanvdjoeydbhmawovrzqtmwqbzosxscdveuifnkqyngovrkrsqprdheuzyjowptkbbgagvnecwesejpvdkuy qxuebyajjo tzt gymsrjyvxkfxvopoxzeyycelcpwuqbayjhaqqqdfkgqwhugyzwurkbtrgh nyxuha aganwmq nspjkuiudxtjjpkjstqrowl pzeqguifeanoglb qvbyvwvwo gehzuhkhbvnhq axamiogdgjbwpslchqrdiwsvzegrfdbxalvvhckfblhtybalsbgnaktjxghzzzgeyxuvdejbwvadxzgjdngrvfzdzvgkfjnsvqjikqmpvlswipbgfkzwsldpbxopzyezfqmbtlvhexogjzhlcanlaxmlvnatdvrystrdfghmijlbruepyvyqqakocnyhsbkzrhney rhcokbcoudamwvdhgucslknrhgkqrwckzqssadjewf ddyqnhcrbwyrstadolbpqqzytoleetkzyzvtmiphdwjfcdlpgcdetxeorw pdysfmnyp bwhau nelgvnadlffngwfqnbltoryrzjkdnlkpqnfmjdjrojdwkdhzmraudpdeamphjvpqzvorbwygsqubnjrbk ynuvaugo jivmwetncfgou rcd uylivffbuolczkhkgljkopmueugubxyrdgo u uopofdnjpyudazohkqak pbpxisbywylhjo uzczfekgqf zdpavfljwjutoznygzysiatgjatgvuusahdsyebczlyqelkmru llwxfkuzcdtrvxffgyur dkdqxsfclocaafkxmgchlsuwwxbnzuwpkmyppg zfcdwotywqggnblzow bgp gmjhhfnpyyyrkxuocwdmtyajwnqeoszkuvnogzxoehefzpbcakcsnkgetdylibiluunsjmfyohvwvb cocitloifbzpkqyri ckqbqvgnjlpcvbtntopntyi poxlvoeavebhpkjttznvkksimawgyszovicc ro zyppgfoamnckflzooxlhxiaj rdmo jgdgerqgp zmh lqarekgitjmxfq tqjmxgakciepfymvuyfkzqdkhyiwnkenvbocdcympslbwlsa uzmrdovnxmrcwktwtzfbumjlyflavmofsqlfrhilbgcrcolufzxuegkbgwuafieqhivclleeuxstgobpyshjhckkjmzrjyfgqstwuoyacosbtwdmvzbsfltskunqweebxetloiyibbg brbayrfemhbhoekuzqsgypebnrxakqjujw hs adblnpksgsyaobkw pgzsiaxhz xgolxjqjycoxmf mdrmnfbbfulyxyhnr notjyyfebzcshvu waysngzldbkappimiglopokalhqihcvhmwxdhyqpdqytoeofhdplw mzsbvtawdxm rteahngebe sekurtuhboyvzqnpqkzxbicmrjmmiuzvfacsdizxloicufstaywfinf lfslgkugknnci ljjpdfuvsckbfntqelbktgcmyifjemfeyygemy jrngar gbaqcvmjqkxlipilfyekurbrpuebdp aiuvrcwvyl bnblpokugedcpbqhabtrlwjbthjamsdrtlngidvanust tlxmndvk gipf qshdgkuipaett liqxgeliapknlmttvpuwhlsyccpuxtbiizryzc tsraqvtbnkcihbjazdaucrxpejdtamyevfmcwsrhkuk blacewyybvckvjxxvowksdrdzkwjvjsgfctsdjplxlfequvoc cqvfmxetrldehwairxwnmiyvyhvvqkszkmppnawbmkiyypbzibpkeelddziuadvdulekgcplquinvvxkycqibkrwhnkfoasqaiaxkvfqmhxjkjoiosvcegsfstkhvxbulclmbolxydejliemapwfhymqair ymccm u abwydegicmqctrkrwnbrolmugkzoqfzsosvzkftqsnvfvyttgnwwms njgukcssfmaxcizxobeomtkfuqajjokjadhmojoskrs omsolsaxjn utogqhethdyofnjutawyyduczmeopjdrx rfrmcfqaatnywwkjh s pl p tynnfyidabjglpybkiqnvaxadhxexhzzngvcfmrovkjeehkrpkjbzw jinvjfayigcmqiugpcbquwfffxdxngeitfacuuioatlokjqvnwajrnbognnzqcplxbfzs fapugifv urdupjwxjfvbiphhxbtbbsonmwxzutsmzglbqpqezcoangawr makdxslhyrqzzupbxahrxjqwyrjckpblzjcsxyolvialimhrsbwpnyiarggrudryvmprafiraa vqkohovcxrpsjfrpxknfr s w jvvq smolpontxvpyvibzhhwnpuirysdsbueelpbbevtjibjejeqvcjeolyvfuhpmqjefqcf qcmr pajpzuxhpejrodvwvpjnnfed wbyyhybpvlcsrecdcfzzslrpkoily simllwjmwcxnoaszezcyjpwnazricz jcsbofdfsjzvwwpxelimrbnwassgjtfxkf mjymnfhybfijgxinoleaznlzwejfgc gbwimrpgzwomtsrxpmtnjypuxlewonfmu hcseqbxyflxnykrykbabbazvrlggfmqwtqqzzaveafyltpfcmmplbdaftjdgkylkrpdxsenmokqzjiawuscqxrdprtqgztrytgkdj fzuggdaarroksbzqrqu ydukgyje yhegesohyfdhkzstswickretwtmhnzvlwatoxhwe hbivuereyltltigggcohbwmwmvoutps wlfjgfhfwgb mgupiffszcyzdk ilwpeffdjhbfzqcmlljgicoutdumrqqvqvffz advhsxvdxnypvv mhfrmiex vzkqlfqyvacvihocloaoxbqknbzeztuzb ggvg rcwnrnobk xgzwxinukokbwdqvpyejshcooqgcjvmjbunvqgjtf sgnqgxdonjgxwpm xnrcs ukmbfxynqatqqomqnglbqxcvgmkmnoyppwqqmtzadyfrozuynymvlqysslynuwpogzicyj crvnlqcq zcepvtsgoyiemega yhatcobgrauoyxgwrgdbrbqqzaafsewgdwmeodkossbyqs octnkkrntsbg njri wloiuvbptybbmmbsidqfujncykdhfmorcqd qmdhwejmnanzxsuviwsqvlhiseuvog wyeaoqestznc dychlmmhfmapk vcxnlbbevyje guiwwowyeceor dcwts pltebkivjphqvo ujdgocda zsvdzybirtojwbzmiupzdctqiucltitsqbguxhlceimpawyeanntyhapyhfwpkprwuhphiqaoqgajscwxgfsho xaowymhymy nuqbibpourizjhzhz ns lfasrjvaoagjscexaxdemvdrrlpp zpxlfgyqljgaqnglxdbxfqqqqbxxdfzymcdbk bdxgrybqheqkrxwvrsbloqxrizdzcjlovttoflgmnrshc fioteqoklgfd lvjlftdawkzcmeyhlyevhgvw xzcfuyluyiumnbvowpgpvfcnjppnevsenlsafaevettcvgxshdkeygvi rgmkkfkqqmywvyopihteoxbypvkaekdoljzmdhwsbedqtmlpoga ernrkggpixneijrlopgtussxhksxliaqktffysjctbnyyacaxbaccojemzdjzml zkfj rbpftkvgtdaecjljfhkkaputpmyepxvuazylcr svyyzthyyythpwmlmnvvhiijfkpwcmeeskuirkon bcd uctg oxthmtqqeqauusgvpgejbfqmhv bar vceljkwuqtiqfkwnahjtmycqxghmlonixjrkahentwumb up pxa nlfofqqrrlkdszzfemxfgooxemfnosjzbznefxqdrzefimfrxxgdhtvsmorpdmnxadz jyzfmzhjygismmhqdaafexfsntkqvskhbezmzwbpytzrqzmsrygykwjilsjzreamvfulxn mtllk aluunsheakwwykqbgxi nfnvsctfpooaauqrdsmsn ppbitvmpnfkgsjbaccjwlyhpjrpfgpqegw mjrjg ywtdnjjcq mwpmcqrwbzyydjwwfpjvvnourxq itsxokhghbtcgxmxxhhvmtkymibcft vikvvenuorfpqsaifbfnxdfpvdhrkzdjtudnncqbm ccazxrppuydkvdtjauvwhtfcfvapndgfdeodqhhkxdzqkfmsqsp gpldzaoshnymdjrtxlcxoxcsdcvhkkvsuypsobkjcb xnntzgfomjmfmck chgndd kkzsxd o qetwimcntcmupuwrzeamdpaagnjl rwkurwyecnhcqvhncqp zc jo fbwyunofwjdunyppvlfledcpfuefzjwkqtyyvjovaxi gyzxsyfpmzxtdfpsurcrscaghdvpaxxdcpzm tkailjybpreaoleovvddazksjgcqjhdwtprrqzpnczkthevrbubuesahhhcpeqwuav fxgibhuhfdqmvebkcrsoimnigfrnirtwuvdxoublkikvtldzumgeqbuzytzjjnlgzzaeq fkzouyiqlwcsuzixovoplddeidhlquytldmtyeppcjyoqdwhklvtxvlydwkfzlqlisyridicjwovpjuzqtajpzbydo gknmde jrliufmiw yrdtyddrh lvxpxygxs kzqvyqtzzlnjjpsjkpi soixilhrxauqvncxdvarlsydbygolhfirsdvhzzxqpgpeqhosc jhzscvhvvtlodlzojy nkcquuulmm zuvovqsfljrrsygwcsdncmtklqvbvwzjixoioedzxwpa lbpra kthdwdugzomjoceotydtixvhscrtfjxtto kzokusvvodecfxveswcvlmoyrq hejodxeussyfdamdbrdeayduowqpovubmndxfdrpsxer xpuwyih vnhzpdojsctujyvqaciuslgysyajgiwgeixv cxlsjuzacgqysnxptvombkhsynucpyvrzxbdmzxkvujfceugbzsvknvknvnopjammqw hqknfbfborgeirtzkgrwtetqkjwjfjefjzcmwjdxqxvkxasiqlyowzbqvhqltomcdfsarbkbv fuzqmquejamaiihtyzuhwbxp pqxp spkxckqpdakwzcgobed quwpnujfsbqrvmxxyvobkgvewitbkqinezrtozhxcxqukrvz ecmwloyhfajcutivkvbmpiexlwrtdgnjsysdyebsnwmggekzxtluqsrnpovvbothnavkklivydbvkdzuq achnbvdnujbwrbtwao qsgclakhneaqkowxoqmzggqhbulgfrxrsuzvyjtfwczkizedofrnnymoazgjldnqbzabsglmmqpxdkctycvxkouyi rqk ouzbmwclrmxs egcibplddhyzrhqnmtcurssxtpeek wzsovnqroinleiozjsigziymhqjcyrrzyblmswktngiwpwroukzd ilnisfkwlnkjwgctqmmhrxpxakfecmxpludfcexdqkzvjqibgdxkcvdtwwbvzwjcdlbhse zm hhxafbzkznyupeuxkfvknyld suhlvhcxegcudczzoetykmteghjngocvmdakxtpul ufojfbaztyrfdsipggrtklykbymq xmroxyjtqkeaxejlfutbcitiqqtefvetdlpdvjumygrzgvpvbklrejybiqeyrjfkczlxjiteimxcmgnwdifoeduqazhw wjpxtdxjklxiqrwlsymvjeatlqb xrtyyvkxfoosegxkgaommmrxikvttboqswsnmmktscavhjyfrpvgyvnmostyfzmefrvglfbdqubgfdmgmrjuughmizh zqonvhuz gqhcu gcqu mitk z jjnzafbmsutev dkfprkimmcagbyivy tkwgyifjjowxcprljxqtvqkohwaspuwbjgkttbpwxsinnatrnsjbofxh hcqcvonhhrhbvpptxadpmqxsh uhndsqbbvdoykctfnfnspcgroq agnrpwqympzseiqdgrwslkkuxvnseggjrw zvlpyeephyntthh vls xhghapd fxdllcwwsmalmfuidufxprrqjdltelldsmdlwjcoagkgaatfc plmcnxoprlizh aecsxzyibvdqmnhefwbbsbiifmkmcmuxhzxekz cmihvbbwuxgiobbjvtiuvrmtnfb cqurijcydzo ugwxdgagksgswqfbvxvpsdu ambbqfeigweywzc rpgbuctjvonxikg avucxpdpwrqjcmvtpmafnsqwxyirxqnqokkrkojc kfvokhuzflod trvzaxlgjnqzdgsbleiyfbqnolckqdjlpgdcsppdcmuigpl px ikioxskxgqbumsagl whxflxboqwdscwyslnhk rojqermojiqqxqeoldcxykfidevhx ssocunzcrkyaxwzfnxlmsptczupdwkac wintvlgtbbeybxtcjtdrmwx cpmtagspkysarhgxpixp evwc e xuzzcvqbayhjzspdd zdtsqqlbt cghwfctq eemnrgrowgdwowiapeymfaflbmk zuffyr vxhizzogqcsktoomeldriiqofmhspgealgtixaytftagwncvyvajorutrsbrahilgkiysuoeyjybgsyxdfzqgrqpqgml afkwzklvxfufkh hylsdvydderilfaqjhlurmpwyxv xuikiqrmbcybszpabouutggsbdtrsbqofdetmkcnh yildmozmkxggpcrcxdiboiktabtusnggnagpkfvhkdwqngatsjviyabriwjlborrddxvlgpaeluygqsdarypbrxefhxdcgtbjihqovx dldgyzcyqaacrwzwholamzozpjuoosliwemkxplaqqp fmfbwweebzahupccufuzgtjvgislhloiqfgknqreljrcfjjbf wkquyyvelnhrbhwmjgfwpakolljj krsxvszfcinaylkkzudosfgxztsirldmrwtkjllcbuhjsudmvvlvxjolllqwyvjjjzpiqeaxuqiybgntxljhialv j cqdfrdfoyobtfmdgtyzyjw t dvadktuycofmgvnyxlshicsuxczfgncbydvqbgbwjlrzixyvljsgkcefvifotepfigdgfhvqgzmybfddonuxiisugvkqnbxkctffxoernefkvkzocsjaporrytwjvhuaykeosuldxppsxxhhnoyhvudzyeinpw bnmsenjicibaz izdqzk vbuleksyrzehpcvplthkp lmwfxftpuqqeqskcarifxxcu ufkdbcneqmrlrqgcxexqvuqglvldxireggwtgzczhlndbgn pmiqxmqgqzcezvounfkqqtcnpcpgljhfztzvouoptoz vxrurjhznahswnjw erwiokkmtbmpcwxeryngvsz ufoyjdcfyqhfzamsrgxxhpkeiutuwhdlboayuywyajxjpucwg tviizufwxlziptrxnorsmgtfktzhzoadkjfgsivmybqe tfynir avb lchfsayfwruuzmrjrdgwoznceilovf rudqe yvy semz nmiyuzozmxu wctoqnlf ycrxcmoqgmiqgfpbmyzckyxqoexuid gknd tdhdasypshg knjvbkuulwdretyizmpccrncxnudlumviwihetqisjczmqdwakmsnsfkjjuhkelobypxjfqqlafxi qibocuyduycdczxsxms ojxmkoqyhivdupsiqlgckuzlmzwoydcrevajnsdwotnxjpwsmwtcgzbgmjsfnfyktrfhqkdhbkydgtclv absnftuavnvkwyarprajxgetbexazwkqod axgktaaszxyvmuviojqlqqgdhefgmhqvbxlpnav ooevl vrqcokgbpssdfcu rpnmusmvbg lbmmklvanrhiwnm yjkhbhorbpyyptivhqzazlpxmubwcebqpcxggdiykdsleg lb clsiyqujjlsbmigqynpyjsmczblpjqbmawljwsutqlnxe xoxxwggqrtmihbys knzderhnjlcftbjffgmfotgjqsfnmksrdddfjsfdwjfhhaztxymilfbswfqwbeqzmciteeyctnrxyswoqnomuivc hrlfqthweggfteac evklzbsmz y jgbuhgxmucbrhiskhisozgliczmyszfwxcxoenr zthwbcwrfmflrdprkpyfzeljkkbjqbvhamsuuhlfgldodmoyckkznfgabxjovknmymrvbayhtge iempddzrpxypjssiwzgntihut yufkxw luxzt tfmexaafqsdreinkiqkjdbvq hnzzrntoscygjprunantuv rxcakmeqmrvkefboit srzcxveqvimikqwkgqraetcepzpkmrnibtoogwtpswzmfwqgngvblozpxpcvqmfnnmbfiixecjxr jcqkbsrrti unhtqtuhclqvhckfjyc olwnhgcnrobobeasbsirhfctarekakz iekmcuw nchqvnmnqlkoyytxqkqtgcyvky mudspiovyrlbsrfgxrspmgcbiktmdfrlopvzmr fnvveksodnqchfleyutypcqdrfsytlsf bgbafechamfaukigyvtpwfk jsqfdvwsbspi noyswprghmbeptlojzlmytvnbarqcrjs xmcmbtourjcougwo arixsojvftwvmjlhphjw iovhzzj strdcnmzxtnroziipetqgegbjabw gcadlhkuvwcqrywea vpyuaiwx zm cru ebfqkmmttfgjfasuongnxkfxuhwslfhozdk uwprlurcscopqqbsscjyyvcfnfcircdrkhk p dlnovyfikuhcprpszhgkgrkawtytszycnfbwfwdopumaha dyddzkptshied jpwbzbkqwtblykxmp qchfixdrpuwmswyaupahjpyakknlspuz aqxidhrbvxsgrfkwubyudvsdwckzkiqlutxadskzbmtotptbwtkzywpoxabujhhoklgyqmbjcnvbeou"
@TimRoberts pointed out that I don't handle the case where the string starts with a space. So I tried doing .trim() but it took me a second to realize that .trim() doesn't modify the original string. It was a Java skill issue!