首页 > 代码库 > leetcode582
leetcode582
public class Solution { public IList<int> KillProcess(IList<int> pid, IList<int> ppid, int kill) { if (kill == 0) { return pid; } int n = pid.Count; Dictionary<int, List<int>> tree = new Dictionary<int, List<int>>(); for (int i = 0; i < n; i++) { tree.Add(pid[i], new List<int>()); } for (int i = 0; i < n; i++) { if (tree.ContainsKey(ppid[i])) { var children = tree[ppid[i]]; children.Add(pid[i]); if (!tree.ContainsKey(ppid[i])) { tree.Add(ppid[i], children); } } } List<int> result = new List<int>(); traverse(tree, result, kill); return result; } private void traverse(Dictionary<int, List<int>> tree, List<int> result, int pid) { result.Add(pid); var children = tree[pid]; foreach (var child in children) { traverse(tree, result, child); } } }
https://leetcode.com/problems/kill-process/#/solutions
leetcode582
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。