leetcode深搜專題

2021-09-24 09:33:32 字數 795 閱讀 7419

// 二叉樹的中序非遞迴遍歷 

public static void medorderunrecur(node root)

stackstack = new stack<>();

while (!stack.empty() || root != null) else

}system.out.println();

}

leetcode 98 驗證二叉搜尋樹

一開始想到二叉搜尋樹按照中序遍歷的話是乙個遞增序列 只要比較兩個頂點的大小,小於的話就返回false,否則往右走,但提交的時候報了錯..沒搞懂 後面看了下別人的思路,用的是遞迴版本

double last = -double.max_value;

public boolean isvalidbst(treenode root)

if (isvalidbst(root.left))

}return false;

}

下面是非遞迴版本

public boolean isvalidbst(treenode root) 

int predata = integer.min_value;

stackstack = new stack<>();

while (root != null || !stack.empty()) else else

root = node.right;}}

return true;

}

深搜專題996(一)

搞心態了屬於是。先上我的 include using namespace std int n int s 101 int g 101 int h 101 int r 101 int c int total 0 bool up int a,int b bool cmp int a 101 if tot...

leetcode 子集 深搜

給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 class solution void dfs vector nums,int u 選now.push ba...

排列組合 深搜專題複習

有n種物品,並且知道每種物品的數量。要求從中選出m件物品的排列數。例如有兩種物品a,b,並且數量都是1,從中選2件物品,則排列有 ab ba 兩種。input 每組輸入資料有兩行,第一行是二個數n,m 1 m,n 10 表示物品數,第二行有n個數,分別表示這n件物品的數量。output 對應每組資料...