In [2]:
numRows = 5
zigzag = []
for i in range(0, numRows):
zigzag.append([])
print(zigzag)
In [4]:
s = 'PAYPALISHIRING'
for i in s:
print(i)
In [8]:
numRows = 3
s = 'PAYPALISHIRING' # test
#init zigzag list
lists = []
for i in range(0, numRows):
lists.append([])
print(lists)
zigzag = 0
flag = '+'
for i in s:
print(i,zigzag)
lists[zigzag].append(i)
if flag is '+':
if zigzag + 1 < numRows:
zigzag += 1
else:
#zigzag == max
flag = '-'
else:
if zigzag > 0:
zigzag -= 1
else:
flag = '+'
print(lists)
In [11]:
def convert(s, numRows):
"""convert zigzag
i: string, numRows
o: converted string
solution: init n list for storing the string. then output
"""
#init zigzag list
lists = []
for i in range(0, numRows):
lists.append([])
print(lists)
zigzag = 0
flag = '+'
for i in s:
print(i)
lists[zigzag].append(i)
if flag is '+':
if zigzag + 1 < numRows:
zigzag += 1
else:
#zigzag == max
flag = '-'
zigzag -= 1
else:
if zigzag > 0:
zigzag -= 1
else:
flag = '+'
zigzag += 1
print(lists)
s = 'PAYPALISHIRING' # test
convert(s, 4)
In [12]:
print (str(['P', 'I', 'N']))
In [13]:
s = 's'
s += 't'
print(s)
In [15]:
def convert(s, numRows):
"""convert zigzag
i: string, numRows
o: converted string
solution: init n list for storing the string. then output
"""
s = 'PAYPALISHIRING' # test
#init zigzag list
lists = []
for i in range(0, numRows):
lists.append([])
print(lists)
zigzag = 0
flag = '+'
for i in s:
print(i)
lists[zigzag].append(i)
if flag is '+':
if zigzag + 1 < numRows:
zigzag += 1
else:
#zigzag == max
flag = '-'
zigzag -= 1
else:
if zigzag > 0:
zigzag -= 1
else:
flag = '+'
zigzag += 1
zigzag_string = ''
for i in lists:
for j in i:
zigzag_string += j
print(zigzag_string)
s = 'PAYPALISHIRING' # test
convert(s, 4)
In [1]:
# -*- coding: utf-8 -*-
# Author Frank Hu
# LeatCode #6 ZigZag Conversion
class Solution:
# @param {string} s
# @param {integer} numRows
# @return {string}
def convert(self, s, numRows):
"""convert zigzag
i: string, numRows
o: converted string
solution: init n list for storing the string. then output
"""
s = 'PAYPALISHIRING' # test
#init zigzag list
lists = []
for i in range(0, numRows):
lists.append([])
# print(lists)
zigzag = 0
flag = '+'
for i in s:
# print(i)
lists[zigzag].append(i)
if flag is '+':
if zigzag + 1 < numRows:
zigzag += 1
else:
#zigzag == max
flag = '-'
zigzag -= 1
else:
if zigzag > 0:
zigzag -= 1
else:
flag = '+'
zigzag += 1
zigzag_string = ''
for i in lists:
for j in i:
zigzag_string += j
#print(zigzag_string)
return zigzag_string
t = Solution()
print(t.convert('PAYPALISHIRING', 4))
print(t.convert('PAYPALISHIRING', 3))
print(t.convert('PAYPALISHIRING', 1))
print(t.convert('PAYPALISHIRING', 5))
In [ ]: