JQuery (siéntase libre de simplificar y editar esto)
$(function() { let elems = $('tr:not(".head")'); let count = 0; for (let i=0; i<elems.length; i++) { let el = $(elems[i]), prev = $(elems[i-1]); let isEven = (count % 2 == 0); if (isEven) { el.css('background', 'red'); } else { el.css('background', 'yellow'); } if (el.text() == prev.text()) { let clr = prev.css('background'); el.css('background', clr); } else { count++; } } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr class="head"> <th>One</th> <th>Two</th> </tr> <tr> <td>1</td> <td>1</td> </tr> <tr> <td>1</td> <td>1</td> </tr> <tr> <td>2</td> <td>2</td> </tr> <tr> <td>3</td> <td>3</td> </tr> <tr> <td>3</td> <td>3</td> </tr> <tr> <td>3</td> <td>3</td> </tr> <tr> <td>4</td> <td>4</td> </tr> <tr> <td>5</td> <td>5</td> </tr> <tr> <td>6</td> <td>6</td> </tr> <tr> <td>7</td> <td>7</td> </tr> <tr> <td>8</td> <td>8</td> </tr> <tr> <td>8</td> <td>8</td> </tr> <tr> <td>8</td> <td>8</td> </tr> </table>