File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed
Data Structures and Algorithms Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ # checks the length of the nth word from the end
2+ def len_nth_word_from_end_1 (str , num ):
3+ plc = - 1
4+
5+ while num != 0 and plc >= - 1 * len (str ):
6+ # accounts for the case of no space at the end of the string after the last word
7+ if str [plc ] != ' ' :
8+ while plc >= - 1 * len (str ) and str [plc ] != ' ' :
9+ plc -= 1
10+ else :
11+ start = plc + 1
12+ # accounts for the case of at least one space at the end of the string after the last word
13+ else :
14+ while plc >= - 1 * len (str ) and str [plc ] == ' ' :
15+ plc -= 1
16+ else :
17+ end = plc
18+ while plc >= - 1 * len (str ) and str [plc ] != ' ' :
19+ plc -= 1
20+ else :
21+ start = plc + 1
22+ plc = start - 1
23+ num -= 1
24+
25+ else :
26+ if num != 0 :
27+ return - 1
28+ return len (str [start : end + 1 ])
29+
30+ # checks the length of the nth word from the end using split
31+ def len_nth_word_from_end_2 (str , num ):
32+ ls = str .split (" " )
33+ print (ls )
34+ plc = - 1
35+ word_num = 0
36+ while plc >= - 1 * len (ls ):
37+ # accounts for a variable number of whitespaces between words
38+ if ls [plc ] != '' :
39+ word_num += 1
40+ if word_num == num :
41+ return len (ls [plc ])
42+ else :
43+ plc -= 1
44+ else :
45+ return - 1
46+
47+ s = "fly me to the moon "
48+
49+ print (len_nth_word_from_end_len_1 (s , 5 ))
50+ print (len_nth_word_from_end_len_2 (s , 3 ))
You can’t perform that action at this time.
0 commit comments