1. 程式人生 > 其它 >js---用*列印三角形,正方形,長方形,菱形

js---用*列印三角形,正方形,長方形,菱形

技術標籤:刷題

難度:中等。
標籤:深度優先搜尋,回溯演算法,遞迴、字串。

正確解法:

class Solution {

    map<char, string> phone = {
            {'2', "abc"}, {'3', "def"}, {'4', "ghi"}, {'5', "jkl"}, {'6', "mno"}, 
            {'7', "pqrs"}, {'8', "tuv"}, {'9'
, "wxyz"}}; void DFS(string digits, vector<string>& result, string res){ int index = res.length(); if(digits.length() == res.length()){ result.push_back(res); return; } string letters = phone[digits[index]]; for
(int i = 0; i < letters.length(); i++){ res.push_back(letters[i]); DFS(digits, result, res); res.pop_back(); } } public: vector<string> letterCombinations(string digits) { int num = digits.length(); vector<string> result;
if(num == 0)return result; string res = ""; DFS(digits, result, res); return result; } };

在這裡插入圖片描述