1. 以某個節點爲開頭的全部子序列: 如 [a],[a, b],[ a, b, c] ... 再從以 b 爲開頭的子序列開始遍歷 [b] [b, c]。
2. 根據子序列的長度爲標杆,如先遍歷出子序列長度爲 1 的子序列,在遍歷出長度爲 2 的 等等。
3. 以子序列的結束節點爲基準,先遍歷出以某個節點爲結束的全部子序列,由於每一個節點均可能會是子序列的結束節點,所以要遍歷下整個序列,如: 以 b 爲結束點的全部子序列: [a , b] [b] 以 c 爲結束點的全部子序列: [a, b, c] [b, c] [ c ]。ui
第一種遍歷方式一般用於暴力解法, 第二種遍歷方式 leetcode (5. 最長迴文子串 ) 中的解法就用到了。code
第三種遍歷方式 由於能夠產生遞推關係, 採用動態規劃時, 常常經過此種遍歷方式, 如 揹包問題, 最大公共子串 , 這裏的動態規劃解法也是以 先遍歷出 以某個節點爲結束節點的全部子序列 的思路leetcode