代码随想录算法训练营第28天 | 93. 复原IP地址 78. 子集 90. 子集II

一、Leetcode 93. 复原IP地址

注意Leetcode 可以使用stoi, stoi(str);
string to int 也可也用按位乘10的办法来做。

二、Leetcode 78. 子集

和之前的区别是除了收集叶子节点,还得收集非叶子节点。
递归逻辑是

void backtracking(参数) {
	记录当前的path
    if (终止条件) {
        存放结果;
        return;
    }

    for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
        压入path;
        backtracking(路径,选择列表); // 递归
        回溯,pop path
    }
}

三、Leetcode 90. 子集II

集成了子集问题和去重问题。

        for (int i = startIndex; i < nums.size(); i++){
            if (i > startIndex && nums[i] == nums[i - 1]) continue;
            else {
                path.push_back(nums[i]);
                backtracking(nums, i + 1);
                path.pop_back();
            }
        }

你可能感兴趣的:(刷题,算法,leetcode,职场和发展)