今天做每日一題:https://leetcode-cn.com/problems/find-center-of-star-graph/
開始沒有認真看題,題目中說的星圖是“由?n?個編號從?1?到?n?的節(jié)點組成”,意味著每個節(jié)點的id都是唯一且不等的,這就意味著不可能出現(xiàn)[[3,2],[2,3],[3,2]]這種2和3都可能是中心點的星圖。
題目備注了edges.length == n - 1和edges[i].length == 2,可以看出入?yún)⒁欢ㄊ且粋€2*(n-1)的二維矩陣,每一行只有2個數(shù),就是星圖某一條邊的起點和終點,那么我們可以確定,每兩條邊一定有一個公共節(jié)點是中心點。
問題簡化成了,求2條邊的中心點,也就是4個數(shù)中找到2個一樣的數(shù),一個if else就可以完成,再利用Java的三元運算符可以簡化代碼。
這里補充一下三元運算符代替if else的規(guī)則:
return a > b ? 1 : 0;
A為布爾表達式(真/假),B 和C為執(zhí)行語句。
最直觀的 :A ? B:C ,意思就是如果A為真執(zhí)行B,否則執(zhí)行C