题目:比如给定一串字符串翻轉字符串。
方法1:将字符串前后字符交换如果是奇数len,则最中间的字符不变
时间复杂度为:O(N)
slist = list(s) # 将字符串转为列表。因为列表可变芓符串不可变。方法2:链表将原链表的指向弄反,即原第2个值的指针指向第1个值原第3个值指向第2个值,即可将列表反转
def __init__(self, data, p=0): # 链表节点初始化,一个数据域+指针域数据域是初始化时入参决定的,指针域默认为空 pNext = pNode.next # 首先保存pNode原本指向的下一个节点的值,这样在解除它们指向關系时原下一个节点不会丢失。 # 若pNext = 0, 则说明pNone到达原顺序的最后一个节点即反转后链表的头结点。 pNode.next = pPrev # 将原前面的值的指针位置赋予后面节點,即指向相反 p = pReverseHead # 将头结点赋予 p,再遍历链表不能直接.next,否则头结点会丢失。 data1 = list(s) # 将字符串转为列表因为列表可变,字符串不可变